文章目录:
- 1、原码是怎么算
- 2、计算机原码反码补码怎么算
- 3、真值怎么变原码
原码是怎么算
原码:在数值前直接加一符号位的表示法。
例如: 符号位=数值位
[+7]原=0 0000111 B
[-7]原=1 0000111 B
注意:a. 数0的原码有两种形式:
[+0]原=00000000B [-0]原=10000000B
b. 8位二进制原码的表示范围:-127~+127
编码方式
原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。
一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256;用来表示有符号数,数的范围就是 -2^(n-1)-1 ~ 2^(n-1)-1,n=8时,这个范围就是 -127 ~ +127。
但是在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255。
计算机原码反码补码怎么算
计算机原码反码补码计算方法:
1、原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原码是人脑最容易理解和计算的表示方式。
2、反码
反码的表示方法是:正数的反码是其本身。负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数,人脑无法直观地看出来它的数值。通常要将其转换成原码再计算。
3、补码
补码的表示方法是:正数的补码就是其本身。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)。
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码在计算其数值。
扩展资料:
原码,反码和补码是完全不同的。既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
首先,因为人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。但是对于计算机,加减乘数已经是最基础的运算,要设计的尽量简单。计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂。于是人们想出了将符号位也参与运算的方法。我们知道,根据运算法则减去一个正数等于加上一个负数,即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。
于是人们开始探索将符号位参与运算,并且只保留加法的方法。
真值怎么变原码
机器数有带符号和不带符号的,才知道真值。
用题中的一个机器数举例:1101 0000 是一个八位的机器数,
假设带符号,则,最高位1表示负号,其对应的真值是 -101 000(二进制)= -16(十进制)
假设不带符号,则,其对应的真值是 1101 0000(二进制) = 208(十进制)
原码即真值,其中最高位为符号位,其余均为数值位。
正数、零的原码、反码、补码均相同。所以真正的求补的运算只对负数进行,且:补码的补码即是原码。
对负数求补的过程是,保持符号位不变,对数值位取反后再加一。
原码就是首位代表符号位,0为正数,1位负数,其后的数值部分用真值的绝对值表示的二进制机器数;而真值呢,就是二进制数的数值,真实值。
扩展资料:
计算机中所有的数均用0,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。
在符号位上用"0"表示正数;用"1"表示负数。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边加零;整数则在最高位左边加零以补足n-1位。这种计算机的编码形式叫做原码。
记作X=[X]原。例如在字长n=8的机器内:
小数: [+0.1011]原=0.1011000
[-0.1011]原=1.1011000
整数: [+1011]原=00001011
[-1011]原=10001011
代码中的小数点”.”是在书写时为了清晰起见加上去的,在机器中并不出现。
参考资料来源:百度百科-原码
。于是人们开始探索将符号位参与运算,并且只保留加法的方法。真值怎么变原码机器数有带符号和不带符号的,才知道真值。用题中的一个机器数举例:1101 0000 是一个八位的机器数,假设带符号,则,最高位1表示负号,其对应的真值是
围就是:[1111 1111 , 0111 1111]即[-127 , 127]原码是人脑最容易理解和计算的表示方式。2、反码反码的表示方法是:正数的反码是其本身。负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。[+1] = [00000001]原 = [00
。真值怎么变原码机器数有带符号和不带符号的,才知道真值。用题中的一个机器数举例:1101 0000 是一个八位的机器数,假设带符号,则,最高位1表示负号,其对应的真值是 -101
,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。在符号位上用"0"表示正数;用"1"表示负数。数值位表示真值的绝对值。凡不足n-1位的,小数在