电脑常识二进制数表达

2025-03-22 01:36:22
推荐回答(4个)
回答1:

计算机中的数据都是以补码的形式来表示的
byte是表示八位的数据 11111111是数据的补码
最高位是符号位 0表示正数 1表示负数
因为最高位为1 所以此数为负数 负数的补码等于反码+1
数据的反码是11111110,符号位不变,数据取反后,
原码就是10000001 即-1

int表示数据为整型,最高位不是符号位,所以11111111值为255

回答2:

int占4个字节,byte是1个字节,每个字节8位。
int最多可以表示正负一共2的32次方个数,byte则是2的8次方。
byte转换int直接赋值,int转byte强制类型转换,因为涉及精度
int类型的如255在计算机中表示00000000 00000000 00000000 11111111
byte8位,它能表示的范围是-255-255,8个1的话也就是2的8次方(即256)产生溢出,所以计算机就表示为-1了。

回答3:

byte是8位补码,表示范围是 -128 ~ 127,没办法表示255的
11111111就是-1
int可能是16位或者32位或者64位,总之表示范围比255大得多
很多0后面跟11111111表示的就是255,全部是1的话表示的同样是-1

回答4:

反码