liuxianhua
级别: 论坛先锋
精华主题: 0
发帖数量: 611 个
工控威望: 1067 点
下载积分: 10234 分
在线时间: 572(小时)
注册时间: 2008-11-19
最后登录: 2013-02-22
查看liuxianhua的 主题 / 回贴
楼主  发表于: 2010-04-15 12:44
书上说16位数据寄存器的最高为符号位,0为正数1为负数,正数的最大值为32767,负数的最大值为-32768,这我就不明白了,除了符号位外,其他15位都为1时,加起来是32767,为什么负数能储存最高数是-32768呢?恳请高手指点,谢谢,谢谢!!
pretco123
不为失败找理由,只为成功找方法
级别: 论坛先锋

精华主题: 0
发帖数量: 2474 个
工控威望: 1761 点
下载积分: 82807 分
在线时间: 1511(小时)
注册时间: 2008-04-15
最后登录: 2024-11-26
查看pretco123的 主题 / 回贴
1楼  发表于: 2010-04-19 12:44
略懂点了!那么表示一个负数等于两部分,要用反码和补码来表示。数字范围是-32767~32767中。。。正数加1也是正数,负数减1就等于加上一个(-1)表示负数必需是将表示符号的最高位置1。
例:00000000-1
      =00000000+(-1)
   =11111111
      =10000001
请问各位高手是不是这样的?请指教!怎么搞到自己好象有点乱了!
pretco123
不为失败找理由,只为成功找方法
级别: 论坛先锋

精华主题: 0
发帖数量: 2474 个
工控威望: 1761 点
下载积分: 82807 分
在线时间: 1511(小时)
注册时间: 2008-04-15
最后登录: 2024-11-26
查看pretco123的 主题 / 回贴
2楼  发表于: 2010-04-22 10:27
要慢慢消化吸收...谢谢赐教..学习中