. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->自由讨论区
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  FF的补码是多少?  [已解决] 回复[ 6次 ]   点击[ 1181次 ]  
hygf99
[帖 主]   [ 发表时间:2010-02-28 23:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-10-17 21:41
学了这么多天汇编了,竟然连这个问题都不会,真是汗颜啊。。
正数的补码是他本身,那么,就应该是11111111B了,但是第一位为符号位,1代表负。
该怎么算呢?
scuzg
[第1楼]   [ 回复时间:2010-03-01 09:50 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
正如楼主所说,0FFH的最高为为1,所以不应该是个正数而是负数;
如果将0FFH看作是原码,那么就应该是负7FH,即-127,按照求补规则(逐位取反、末位加1):
-111 1111的补码是1000 0001。
如果将其与正127,即 0111 1111相加:
 0111 1111 
+1000 0001
——————
10000 0000
低8位的结果为0,这正是127+(-127)的正确结果;而向8位之外的进位,正是补码运算的“去模”。
ztc123
[第2楼]   [ 回复时间:2010-04-29 13:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-04-28 01:16
你学过数轴吗,-127---0---127,对应FF----0----7F,一一对应,所以你这个FF对应7F即127,具体规则看一楼的,这个只是我自己用来粗略看看数的正负,比较一下而已
x123
[第3楼]   [ 回复时间:2010-04-30 13:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-04-30 13:54
这个不怎么懂
catry
[第4楼]   [ 回复时间:2010-05-16 01:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-03 18:57
ff本身就是补码形式吧
scuzg
[第5楼]   [ 回复时间:2010-05-16 07:34 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
0ffh也可以是原码负7FH,即-127;不过现在计算机中并不使用原码,且负数都是用补码表示的,所以如果将0ffh视为带符号数,显然是负数,也一定是补码。
hygf99
[第6楼]   [ 回复时间:2010-11-08 20:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-10-17 21:41
此贴由 贴主 于 [ 2010-11-08 20:43 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(scuzg):8分   5楼(scuzg):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved