注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

潘凌云的博客

简单的我 快乐的教学 快乐的生活

 
 
 

日志

 
 

三、原码与补码  

2010-10-01 22:28:20|  分类: 奥赛资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


1[x]补码=10011000,其原码为( B)

 A)011001111  B)11101000  C)11100110  D)01100101

2、已知x =0.10110102 ,则[ x / 2 ] = C 2

    A0.1011101  B11110110  C0.0101101  D0.100110

 

相关知识点:带符号数的机器码表示方法

1.带符号二进制数的表示方法:

带符号二进制数用最高位的一位数来表示符号:0表示正,1表示负。

含符号位二进制数位数

数值范围

十六进制范围表示法

8位二进制数

-128 ~ +127

80H~7FH

16位二进制数

-32768 ~ +32767

8000H~7FFFH

32位二进制数

-2147483648~ +2147483647

80000000H~7FFFFFFFH

 

2、符号位的表示:最常用的表示方法有原码、反码和补码。

1)原码表示法:

规律:正数的原码是它本身,负数的原码是取绝对值后,在最高位(左端)补“1”。

2)反码表示法:一个负数的原码符号位不变,其余各位按位取反就是机器数的反码表示法。正数的反码与原码相同。

3)补码表示法:

?         对于二进制数由原码求出补码的方法:

u       正数的补码表示与原码相同;

u       负数的补码是将原码符号位保持“1”之后,其余各位按位取反,末位再加1便得到补码,即取其原码的反码再加“1”:[x]=[x]+1

?         对于二进制数由补码求出原码的方法:

u       补码的补码即为原码。

下表列出三、原码与补码 - plyisme - 潘凌云的博客8位二进制原码,反码和补码并将补码用十六进制表示。

真值

原码(B

反码(B

补码(B

补码(H

+127

0 111 1111

0 111 1111

0 111 1111

7F

+39

0 010 0111

0 010 0111

0 010 0111

27

+0

0 000 0000

0 000 0000

0 000 0000

00

-0

1 000 0000

1 111 1111

0 000 0000

00

-39

1 010 0111

1 101 1000

1 101 1001

D9

-127

1 111 1111

1 000 0000

1 000 0001

81

-128

无法表示

无法表示

1 000 0000

80

 

从上可看出,真值+0-0的补码表示是一致的,但在原码和反码表示中具有不同形式。8位补码机器数可以表示-128,但不存在+128的补码与之对应,由此可知,8位二进制补码能表示数的范围是-128——+127。还要注意,不存在-1288位原码和反码形式

 

  评论这张
 
阅读(284)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018