计算机科学

首页 > 计算机科学

原码

2018-07-20 15:00:51    

原码(True form)是电脑运算的名词,是指“未经更改”的码。为了便于ALU的设计,又发展出反码、补码等转换过的码。

原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1(+0/-0)。

目录

  • 1 原码的具体定义
    • 1.1 小数原码的定义
    • 1.2 整数原码的定义
  • 2 编码方式
    • 2.1 有符号数
    • 2.2 无符号数
  • 3 原码的优点
  • 4 原码的缺点

原码的具体定义

计算机中所有的数均用0、1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。

小数原码的定义

X =

例如:+0.1011=0.1011000

-0.1011=1.1011000

(代码中的小数点“.”是在书写时为了清晰起见加上去的,在机器中并不出现。)

整数原码的定义

X =

例如:+1011=00001011

-1011=10001011

编码方式

原码是最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的个。当时,能表示256个数字。

有符号数

用来表示有符号数,数的范围就是。当时,这个范围就是

无符号数

在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是。当时,这个范围就是

原码的优点

简单直观;例如,我们用8位二进制表示一个数,则+11的原码为00001011,-11的原码就是10001011。

原码的缺点

原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001+10000001=10000010,换算成十进制为-2。显然出错了。

所以原码的符号位不能直接参与运算,必须和其他位分开,这就增加了硬件的开销和复杂性。


上一篇:函数重载
下一篇:存储控制器