当前位置:首页 > 前端设计 > 正文

二进制补码运算规则?二进制补码运算例题

二进制补码运算规则?二进制补码运算例题

本篇文章给大家谈谈二进制补码运算规则,以及二进制补码运算例题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决...

本篇文章给大家谈谈二进制补码运算规则,以及二进制补码运算例题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

二进制变形补码计算

1、正数的补码表示:

正数的补码=原码

负数的补码={原码符号位不变}+{数值位按位取反后+1}or

={原码符号位不变}+{数值位从右边数第一个1及其右边的0保持不变,左边安位取反}

以十进制整数+97和-97为例:

+97原码=0110_0001b

+97补码=0110_0001b

-97原码=1110_0001b

-97补码=1001_1111b

2、纯小数的原码:

纯小数的原码如何得到呢?方法有很多,在这里提供一种较为便于笔算的方法。

以0.64为例,通过查阅可知其原码为0.1010_0011_1101_0111b。

操作方法:

将0.64*2^n得到X,其中n为预保留的小数点后位数(即认为n为小数之后的小数不重要),X为乘法结果的整数部分。

此处将n取16,得

X=41943d=1010_0011_1101_0111b

即0.64的二进制表示在左移了16位后为1010_0011_1101_0111b,因此可以认为0.64d=0.1010_0011_1101_0111b与查询结果一致。

再实验n取12,得

X=2621d=1010_0011_1101b即0.64d=0.1010_0011_1101b,在忽略12位小数之后的位数情况下,计算结果相同。

3、纯小数的补码:

纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。

以-0.64为例,其原码为1.1010_0011_1101_0111b

则补码为:1.0101_1100_0010_1001b

当然在硬件语言如verilog中二进制表示时不可能带有小数点(事实上不知道哪里可以带小数点)。

4、一般带小数的补码

一般来说这种情况下先转为整数运算比较方便

-97.64为例,经查询其原码为1110_0001.1010_0011_1101_0111b

笔算过程:

-97.64*2^16=-6398935=1110_0001_1010_0011_1101_0111b,其中小数点在右数第16位,与查询结果一致。

则其补码为1001_1110_0101_1100_0010_1001b,在此采用负数的补码={原码符号位不变}+{数值位按位取反后+

二进制1101的补码怎么计算

同学们,大家好!我们应该都知道二进制数1101应该是一个负数,所以说二进制数1101的原码就应该是1101,负数二进制数1101的反码就应该是1010,最后求出负数二进制数1101的补码就应该是1011,同学们,你们大家都看明白了没有啊,再多看几遍

二进制数补码的范围公式

8位补码范围是-128至127.

根据补码的几条规定即可推出上述结论:

1若二进制每位全为0,则表示数0

2若最高位(即符号位)为0,表示正数

3若最高位为1,表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。

例如,二进制的10000000的最高位为1,所以它表示的是负数。是负的多少呢?我们将其八位全部取反,得到01111111,然后加1,得到10000000.将该数看作无符号数,值为128,故计算机中的10000000表示的是-128。【关于这一点要死记硬背了,可以参考下面列出的对比数记忆】

最高位(即符号位)为1的8位有符号数有128个,故可表示128个负数;最高位为0的8位有符号数有128个,但全0的那个表示数0,所以总共只能表示127个正整数。

-7用2的补码的方法计算

-7的二进制补码表示为:

A

01111000

B

01111001

C

11111000

D

11111001

-7的二进制补码表示为:

A

01111000

B

01111001

C

11111000

D

11111001

-7的二进制补码表示为:

A

01111000

B

01111001

C

11111000

D

11111001

-7的二进制补码表示为:

A

01111000

B

01111001

C

11111000

D

11111001

二进制补码运算怎么确定有效位数

两个二进制数补码相加时,数值位有效数字的位数

就是该数的真值的有效数字的位数,也就是该数绝对值有效数字的位数。

二进制补码的表示范围有一个规律,就是n位二进制补码的表示范围为-2^(n-1)~+2^(n-1)-1。

补码:补码是基于反码的变动,有两种情况,如果是正数的补码,就跟原码反码都相同。如果是负数的补码,则在其反码的基础上,再加1。

二进制负小数的补码

使用十进制数系统,每个数字位置(或列)表示(从右到左读取数字):单位(即10^0),数十(即10^1),数百(即10^2)等。

对于无符号二进制数,基数为2,因此每个位置变为(再次从右到左读):1(即2^0),2(即2^1),4(即2^2)等

在有符号的二进制补码中,最高有效位(MSB)变为负值。因此,它表示数字符号:负数为“1”,正数为“0”。

固定点(分数)系统保持的位数值不变。列值遵循与以前相同的模式,基数(2)为幂,但功率为负

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

最新文章