关于将AND运算符应用到有符号数值的运算问题(在线)

ndujun 2004-12-27 03:35:14
AND用于数值类型的时候执行按位操作,比如7 AND 9=1,那么-7 AND -9应该是多少呢?对于有符号数值,符号位是不是最高位?具体的二进制操作是怎么执行的?我认为结果应该是-1,但是用程序算出来却是-15,谁能解释一下运算过程?谢谢。32位的有符号数在内存中是怎么存放的,有没有高位低位的区分呢?
...全文
69 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ndujun 2004-12-27
  • 打赏
  • 举报
回复
OK,我刚才用inttohex和hextobin两个函数验证了一下,谢谢。
syl79 2004-12-27
  • 打赏
  • 举报
回复
打错了,符号位就是最高位,呵呵。
syl79 2004-12-27
  • 打赏
  • 举报
回复
第一,符号位不是最高位
第二,以DWORD来运算的话-7=fffffff9,-9=fffffff7,所以-7and-9=-15。可以参考一下补码规则。
第三,数据在内存中以高位高字节的方式存放,如-7放在以0开始的内存地址中,则(0)f9(1)ff...

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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