首页 > 编程知识 正文

116的原码反码补码,原码 反码 补码 详解

时间:2023-05-04 12:04:57 阅读:119338 作者:4540

十、二、八、十六进制变换(包括负数变换)原码、补码、反码为0.0,定义带符号的1字节表示范围。 已知一个字节(字节(byte )=8比特) ),也就是八比特的二进制文件,例如,11111111 )、1024字节=1 K和1024 K=1M 因此,能用1字节表现的范围是0 ~ 256 (无符号数),能用有符号数表现的范围是-128 ~ 127 有符号数的显示范围应该没有异议,但没有符号数的显示范围有门户。 为什么负数会多显示一位呢? 通常,一个字节是8个比特,其中最左边的比特表示正负(0是正的,1是负的)剩下的7比特的显示范围,正的最大数量是01111111 )二进制)=127 )之后的二进制和十进制的显示方法使用二进制) 0bxxxxx

xxx(x为1或0 ),十进制: XXX

所以理所当然的0b 0000000表示0,0b 10000000表示多少呢? 怎么也表示不了0吧。 所以,理所当然的0b10000000表示-128。 所以,负数将排在第128位。

1.0、正二进制转换正常之间的二进制转换规则:

首先从十进制转换为二进制,然后将二进制三位为一位的转换为八进制/或四位为一位的转换为十六进制。

示例:

1.1.1、将十进制十转换为二进制: 10除以2的数=5馀为0

然后5除以2=2剩下的是1;

除以2等于1多等于0;

1除以=0余等于1;

从低到高的残差,即,直到结果变为0的二进制数,是1010

1.1.2、二进制1010到十进制1010的转换

=1 * 2的3次方0 * 2的平方1 * 2的1次方0 * 2的0次方

=8 0 2 0

=10

1.2.1二进制1010转换为八进制。 三位二进制文件转换为一位八进制文件。 也就是说,用从二进制数转换为十进制数的方法将三位合并为一位。

示例:

1010 (二进制) )。

=001 010 (原来是4位,所以在最左边适当添加0更容易计算,而不影响结果() )。

=1 2

=12(8 (八进制)

所以二进制1010的八进制是12

同样,八转二

12

=1 2

因为1的二进制数是001,2的二进制数是010。 (保持三位为一个单位)。

所以=001010=1010 (二进制) )。

1.3.1进制数变成16进制数同样2进制数变成8进制数,但以4位为一个单位。

也就是说:

1010=a (十六进制数(0~9以及A~F,a相当于10,f相当于15 ) ) )。

同样,十六进制将是二进制的。

2.1、负数进制转换基调:负数在计算机中以补数形式存在!

所以,我们需要知道什么是补码,以及如何获得补码。

首先,分为原码、反码、补码、三种

2.1.1,源代码是什么? 机器数量中最简单的一种表示形式,其中码比特为0时表示正数,码比特为1时表示负数,并且数值比特表示真值的绝对值。

示例:

3 (十进制)源代码:

=00000011 (二进制) )。

-3的源代码:

=10000011

2.1.3、补码是什么? 在日常生活中,在钟表中,像3和15一样会遇到补数这个概念,为什么呢?

现在,假设时针指向12点,时针指向3点有两种方法: 1、将分针顺时针旋转3周(每转1小时)。 2、逆时针转动分针9圈两种方法结果一致。 假设顺时针为正,逆时针为负。 那么,12 3=15 (顺时针)、12 - 9=3(逆时针),时针转一周12小时没有转,也就是说相当于15 - 12=3,所以15点、3点都表示下午3点! 这样-3和9对钟表的作用一致。 另外,由于时钟12为一圈,所以9是指-3为12的补数。 (自)北京理工大学出版社的计算机组成原理(tmdkn,着) P15页) ) )。

计算机中出现了补数这个概念。

2.1.3.1、整数补数的定义首先,正数补数与原符号数值相同。

其次,以-3为例,有两种定义方法

将1、3的原码表示,包括码位在内,在各位反转,在最低位加上1

示例:

00000011(3原码) )。

=11111100 1

=11111101

2、-3的源代码表示,反转不包含符号位的各位,最低位加1

示例:

10000011(-3原码) )。

=11111100 1

=11111101

2.1.2、反码为正时,与原码相同,例如3的反码为00000011

负数时,取原码绝对值,按位取反(包括符号位),如下所示。

-3的反码:

-3的源代码: 10000011

绝对值: 00000011

逐位翻转: 11111100

2.2、利用补数进行负数之间的进制变换,将负数变换为二进制补数。 即,将表示负数的十进制数转换为二进制数。

在中,二进制表示的补码还可以用3位表示1位的方法转换为8进制。 (也计算符号位。 如果用4位表示1位,则转换为16进制。

示例:

2.2.1、-10 (十进制)转换为二进制-10后,为带符号的二进制。

10001010 (在本例中为源代码) ) )。

那么,用从以上两种原码转换为补数的方法转换为补数:

11110101 1

=11110110 (这是-10的二进制表示) )。

金额从二进制转换为十进制是逆转步骤。

2.2.2、将负数转换为8、16进制-以10为例,首先转换为二进制: 11110110

然后三位用一位转换成八进制。 011 110 110

=366(8 (八进制) )

然后四位用一位转换成十六进制。 1111 0110

=F6 (十六进制) () ) ) ) ) ) ) ) ) 0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。