首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表示带符号的8位整数?

表示带符号的8位整数?
EN

Stack Overflow用户
提问于 2010-10-08 22:39:04
回答 5查看 3.5K关注 0票数 1

如果F6基十六进制是一个有符号的8位整数,它用十进制数表示多少?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-10-08 22:49:58

F6是二进制值11110110

在二进制补码系统中,第一位用来表示符号。如果它是0,那么剩下的7位数代表0-127。如果它是1,那么你使用按位不翻转其他7位,然后加1并取反结果。

所以:

代码语言:javascript
复制
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。

票数 6
EN

Stack Overflow用户

发布于 2010-10-08 22:42:32

假设一个“正常”的2的补码,它是-10。在1的补码中,它是-11。在带符号的量级中,它将是-118。

票数 5
EN

Stack Overflow用户

发布于 2010-10-08 23:13:44

你可以考虑2的恭维,比如this...the第一位被认为是“负”,所以在一个8位的数字中,通常你会像这样对无符号整数加起来。

代码语言:javascript
复制
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的赞美..。

代码语言:javascript
复制
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。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3891633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档