-1的8位二进制原码是10000001,按规则它的反码是11111110,它的补码当然就是11111111。所以11111111就是-1。换句话说,-1在计算机中用8位二进制表示的话就是11111111。
在计算机中,每个字节(即8位)都有自己的补码。在你的例子中,你给出了一个8位的二进制数:11111111。这个数在计算机中表示为十进制的255(因为二进制的11111111等于十进制的255)。
补码是计算机内部用于表示负数的方式。对于负数,它的二进制表示是与其绝对值的二进制表示相反的。具体来说,如果一个数的第一位(称为符号位)是1,那么这个数就被视为负数,然后其余的位是该数的绝对值的二进制表示的反转。
所以,对于二进制数11111111(十进制的255),它的补码就是00000000(十进制的0)加上这个数的反转:00000000 00000000 00000000 11111111。但是因为这两个零是相加的,所以结果仍然是00000000 11111111,也就是十进制的255。
所以,二进制数11111111的补码也是11111111。
自己想111111111111!