十六进制的80h,为什么表示十进制的-128,负号是从哪里体现?

2025-03-06 19:27:31
推荐回答(2个)
回答1:

应该说是字节型十六进制有符号数80H
最高位为1表示这个数是负数
80H=1000000B,减1=01111111B,取反=10000000B=128D
因此80H表示的是-128D,是-128D的补码表示

回答2:

对于一个有符号char型来说,它的最高位代表符号位,0代表正数,1代表负数。80表示成二进制是1000 0000,符号位为1,因此这是一个负数。内存中的整数均以补码形式存储,1000 0000就是char型最小值-128的补码表示。