首页 > 试题

变形补码

更新时间:2022-12-09 15:34:04 阅读: 评论:0

北京2018年中考数学答案-暖又轻


2022年12月9日发(作者:生命没有彩排)

计算机中的真值和机器数

真值(即:带有正负号的数值是真值,⽤0或1来表⽰正负号的数值是机器数,例如:-10011为真值,110011为机器数)

以下X表⽰数据的真值。

1.原码表⽰法

最简单且直观的机器数表⽰法,其最⾼位为符号位(0为正,1为负),数值部分与真值的数值相同

设X为纯⼩数,⼀位符号位,n个数值位,则

[X]

{

X 0=

1-X=1+|X| -(1-2n-1

)=

例如:x=-0.1001,那么先把它转化成机器数为:1.1001

根据公式:[X]

=1-X=1-(-0.1001)=1+0.1001=1.1001=1+|-0.1001|

[+0.8125]

=(0.1101000)

2

[-0.8125]

=1-(-0.8125)=(1.0000000)

2

+(0.1101000)

2

=(1.1101000)

2

设X为纯整数,⼀位符号位,n个数值位,则

[X]

={

X 0=

2n

-X=2

n

+|X|-(2

n-1)=

例如:机器字长n=8

[+35]

=(00100011)

2

[-35]

=27-(-35)=(10000000)

2

+(00100011)

2

=(10100011)

2

2.补码表⽰法

变形补码:即⽤两个⼆进制位来表⽰数字的符号位,其余与补码相同。变形补码,⽤"00"表⽰正,⽤"11"表⽰负,也称为模4的补码。

⽤变形补码进⾏加减运算时,当运算结果的符号位出现"01"或者"10"时,则表⽰产⽣溢出。变形补码的最⾼位(第⼀个符号位)总是表⽰正

确的符号,

⽐如"00"、"01"分别表⽰正数、正溢出(上溢),"11"、"10"表⽰负数、负溢出(下溢)。

1、产⽣01的情况:补码:0111+0010----1001

两个正数相加出现了负数,明显有误,就是说此时产⽣了上溢出(注:补码运算时符号位也参与运算)

变形补码:00111+00010----01001

此时读数时,由于左边的符号位是0,所以表⽰正数,读成+9,⽽不像模⼆补码中变成了-7

2、产⽣10的情况:补码:1001+1010----10011

溢出⼀位后,结果变成了0011,两个负数相加出现了正数,明显有误,就是说此时产⽣了(注:补码运算时符号位也参与运算)

变形补码:11001+11010----110011

溢出⼀位后,结果变成了10011,此时读数时,由于左边的符号位是1,所以表⽰负数,读成-19,⽽不像模⼆补码中变成了+3

(注:产⽣01和10时,读数时右边那⼀位符号也要算在数字⾥⾯)

本文发布于:2022-12-09 15:34:04,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/73346.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:花筒
下一篇:生生之谓易
标签:变形补码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图