如果F6基十六进制是一个有符号的8位整数,它用十进制数表示多少?
发布于 2010-10-08 22:49:58
F6是二进制值11110110。
在二进制补码系统中,第一位用来表示符号。如果它是0,那么剩下的7位数代表0-127。如果它是1,那么你使用按位不翻转其他7位,然后加1并取反结果。
所以:
11110110 // Negative, because the first position is 1
1110110 // Removed the leading 1
0001001 // Flip the remaining 7 bits
8 + 1 // Convert bits to decimal values (bits 4 and 1 from the right)
9 + 1 = 10 // Add the 1因此,F6为-10。
发布于 2010-10-08 22:42:32
假设一个“正常”的2的补码,它是-10。在1的补码中,它是-11。在带符号的量级中,它将是-118。
发布于 2010-10-08 23:13:44
你可以考虑2的恭维,比如this...the第一位被认为是“负”,所以在一个8位的数字中,通常你会像这样对无符号整数加起来。
11011011
= 1*(2^7)+1*(2^6)+0*(2^5)+1*(2^4)+1*(2^3)+0*(2^2)+1*(2^1)+1*(2^0) = 219加上2的赞美..。
11011011
= -1*(2^7)+1*(2^6)+0*(2^5)+1*(2^4)+1*(2^3)+0*(2^2)+1*(2^1)+1*(2^0) = -37
^ Note the negative第一位被认为是负的,在8位中,这意味着如果设置为负,则表示2^7,其余位被添加到负值以使其不那么负。如果所有位都是1,那么它将是-1。
https://stackoverflow.com/questions/3891633
复制相似问题