时间:2010-07-24 10:25:16

标签: java byte unsigned bits complement

7 个答案:

答案 0 :(得分:14)

答案 1 :(得分:11)

答案 2 :(得分:4)

答案 3 :(得分:2)

答案 4 :(得分:0)

答案 5 :(得分:0)

private byte reverseBitsByte(byte x)
{
    int intSize = 8;

    byte y = 0;
    for (int position = intSize - 1; position >= 0; position--)
    {
        y += ((x & 1) << position);
        x >>= 1;
    }
    return y;
}

答案 6 :(得分:-1)

以下是Java字节,按二进制表示(从00000000到11111111)排序:

0,1,2,..,126,127,-128,-127,.., - 2,-1

<00> 00000000为0,111111111为-1

反转0为-1,反转1为-2,...,反转127为-128。 因此,如果要反转Java字节的位,则应使用相反符号的字节并减去1:

byte myByte = 123;
byte myInvertedByte = -myByte-1;