有符号数补码之间的比较

huakaideshengyin 2008-03-11 06:07:59
大家好!我有一道题不会做,请大家帮忙指点一下。
题目是:设以下各数均为有符号数的补码表示,请比较它们的大小:
(1)327FH与A521H (2)80H与32H
(3)8000H与A632H (4)72H与13H
什么是有符号数?怎么比较它们的大小呢?
...全文
1737 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongyi940333 2008-03-14
  • 打赏
  • 举报
回复
LZ参见:

有符号数和无符号数探讨

http://blog.csdn.net/band_of_brothers/archive/2007/12/30/2005179.aspx
zhaoyi2115 2008-03-14
  • 打赏
  • 举报
回复
可以先转化成原码在进行比较,最简单的办法是先比较最高位,如果是正数的话最高位
肯定是 0 ,负数为一;如果两个数符号相同,可以直接比较
BMCRNET 2008-03-12
  • 打赏
  • 举报
回复
负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.

举例:
原码:00000001

反码:11111110

补码:11111111
用户 昵称 2008-03-11
  • 打赏
  • 举报
回复
有没有符号,关键是按什么方式去查看,如楼上所说
比较两个数,ja jb就是按无符号数看待,jg, jl就是按有符号数去查看。
cnzdgs 2008-03-11
  • 打赏
  • 举报
回复
MASM中可以定义WORD和SWORD,BYTE和SBYTE,DWORD和SDWORD分别表示有符号和无符号数。但实际使用中有无符号是没有差别的,只是有一些专门进行有符号运算的指令,例如imul、idiv等。
无论有无符号,比较大小都是用cmp指令,只是判断结果有所不同,无符号判断CF标志(jc、jnc、jbe等),有符号判断SF标志(jl、jg、jle等)。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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