(長さの理由により、説明は詳細で科学的ではなく、気に入らない場合は批判しないでください)。
Javaのバイト配列のさまざまな定義がよく見られるので、整理します。
1つのバイト= 8ビット、およびすべての「バイト配列」は「バイト」です。つまり、各バイトはバイナリ、16進数、および小数で表すことができます。
バイナリ:00010110 ------> 0*2^8 + 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 22
Hexadecimal:0x16 -------> 1*16^1 + 6*16^0 = 22
小数:22
したがって、次の3つは同等です。
byte [] aa = {00010110、01010010、10111000};
byte [] aa = {0x16、0x52、0xb8};
byte [] aa = {22、82、184};
日食のブレークポイントをデバッグするとき、表示されるバイト配列の内容は10進数で表されます。バイト配列内の127を超える数値が負の数として表示されるため、負の数が表示される場合があります。
Javaはサポートバイトアレイのみを読み取ることがわかっていますが、BYTEは8ビットであるため、127を超えることはできません。それを超えた場合、オーバーフローし、負の数の形で表示されます。
上記の記事では、Javaのバイト配列のさまざまな執筆方法について簡単に説明しています。私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。