简单问题????????

wmhnq 2005-11-27 09:34:52
小弟看,初学看书看到。
10的补码为
0000000000001010
书上说求-10的补码是先将10取反然后+1。
取反得到:1111111111110101

我的问题是这个+1到底是怎么加的啊。
怎么得到的:1111111111110110

谢谢各位大哥。
...全文
102 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodluckyxl 2005-11-27
  • 打赏
  • 举报
回复
从右往左进位
和十进制一样 10进制是>=10进位
二进制是>=2进位
一样的
analisa 2005-11-27
  • 打赏
  • 举报
回复
当然是从左边啦
wmhnq 2005-11-27
  • 打赏
  • 举报
回复
另外就是是重左边开始算,还是重右边开始算起来的啊
wmhnq 2005-11-27
  • 打赏
  • 举报
回复
这里的加1是怎么加的啊,我就是不知道啊。
是这样加的吗?:
1111111111110101
+ 0000000000000001
-----------------
1111111111110110
goodluckyxl 2005-11-27
  • 打赏
  • 举报
回复
最高位为符号位
其他位数据取反
后最低位加一运算
符号位不参加运算得到补码
nasi00 2005-11-27
  • 打赏
  • 举报
回复
二进制的加法

1111111111110101
+ 1
-----------------
1111111111110110
^
1+1 = 10,所以进位了
homtipo 2005-11-27
  • 打赏
  • 举报
回复
呵呵, 看来汇编还是没有学习的吧:)

对于二进制加法: 1+1 = 0(进1) 1+0 = 1 0+1 = 1 0+0 = 0

用上面的方法作罗:)

70,035

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧