1.计算机中数的单位
数的最小单位:bit(比特,一个二进制位),0或1。
数的基本单位:Byte(拜特,字节)。
1Byte=8bit(1字节=8位);
1KB=210Byte=1 024B;
1MB=210KB=220B=1 048 576B;
1GB=210MB=220KB=230B;
1TB=210GB=220MB=230KB=240B;
1PB=210TB;
1EB=210PB;
1ZB=210EB;
1YB=210ZB;
1BB=210YB;
1NB=210BB;
1DB=210NB。
表示在计算机上的数称为机器数,机器数所代表的真正意义的数值称为真值。机器数是以字节为基本长度单位表示的。通常机器数可表示成8位、16位、32位、64位等形式,其所表示的数可以是无符号数,也可以是不同形式的有符号数,还可以指定小数点的位置及用以科学计数法的形式出现的浮点数表示等,而不同字节的不同性质的机器数所表示的数据范围是不一样的。
2.无符号数的表示
1)8位无符号数的表示范围
0≤X≤28-1,即0~255。
2)16位无符号数的表示范围
0≤X≤216-1,即0~65 535。
3.有符号数的表示
用机器数的最高位表示符号位,“0”表示正号,“1”表示负号,其余则为数值位。带符号的机器数有三种表示法,即原码表示、反码表示和补码表示。
1)整数的表示
(1)原码表示:最高“0”表示正号,“1”表示负号,数值位保持不变。
(2)反码表示:正数的反码等于原码,负数的反码等于原码的数值位按位取反。
(3)补码表示:正数的补码等于原码,负数的补码等于其反码末位加1。
例1.13
[+42]原=0 0101010B,[-42]原=1 0101010B。
[+42]反=0 0101010B,[-42]反=1 1010101B。
[+42]补=0 0101010B,[-42]补=1 1010110B。
2)小数的表示
(1)原码表示:正小数,小数点前一位用“0”表示;负小数用“1”表示,小数值部分保持不变。
(2)反码表示:正小数的反码等于原码,负小数的反码等于原码的数值位按位取反。
(3)补码表示:正小数的补码等于原码,负小数的补码等于其反码末位加1。
例1.14
[+0.625]原=0 101B,[-0.625]原=1 101B。
[+0.625]反=0 101B,[-0.625]反=1 010B。
[+0.625]补=0 101B,[-0.625]补=1 011B。
3)正确理解补码
补码的概念中隐含着“模”的概念。“模”是指一个计量系统的计数范围。例如:时钟的计量范围是0~11,模=12。计算机也可以看成一个计量机器,它也有一个计量范围,与其所表示的数的二进制位数有关,位数少表示的数的绝对值就小,位数多表示的数的绝对值就大,即存在一个“模”。n位计算机的计量范围是0~2n-1,那么模为2n。
一般做补码类作业题目时应注意,数的位数是几位就按几位计算,前后不再添加“0”来凑位数,有指定位数要求的按指定的位数来计算。
补码的特性:
(1)一个负整数(或原码)与其补数(或补码)相加,和为模。
(2)对一个整数的补码再求补码,等于该整数自身。
(3)补码的正零与负零表示方法相同。[+0]和[-0]的补码都是[0]。
4.定点数和浮点数
1)定点数(fixed-point number)
计算机处理的数据不仅有符号,而且大量的数带有小数,小数点不占有二进制位,而是隐含在机器数里某固定位置上。通常采用两种简单的约定:一种是约定所有机器数的小数点位置隐含在机器数的最低位之后,叫定点纯整数机器数,简称定点整数。另一种约定所有机器数的小数点位置隐含在符号位之后、有效数值部分最高位之前,叫定点纯小数机器数,简称定点小数。
定点数的表示方法简单直观,不过定点数表示数的范围小,不易选择合适的比例因子,在运算过程中容易产生溢出。
2)浮点数(floating-point number)
计算机采用浮点数来表示数值,它与科学计算法相似,把任意一个二进制数通过移动小数点位置表示成阶码和尾数两部分:N=2E×S。
其中:E代表N的阶码(exponent),是有符号的整数;S代表N的尾数(mantissa),是数值的有效数字部分,一般规定为纯小数形式。
浮点数在计算机中的存储格式如图2-3所示。
图2-3 浮点数的存储格式
阶码只能是一个带符号的整数,它用来指示尾数中的小数点应当向左或向右移动的位数,阶码本身的小数点约定在阶码最右面。尾数表示数值的有效数字,其本身的小数点约定在数符和尾数之间。在浮点数的表示中,数符和阶符都各占一位,阶码的位数随数值表示的范围而定,尾数的位数则依数的精度要求而定。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。