一、进位基数制及其转换
1.如果只用r个基本符号表示数值,则称其为r进制(Radix-r Number System),r称为该数制的基数(Radix)。
2.每种数制都使用位置表示法。也就是处于不同位置的数符所代表的值不同,与它所在位置的权值有关。
3.十进制 转化成 二进制 口诀:整数部分,除二取余。小数部分,乘二取整。(十进制转化成任意进制数都口使用次口诀)。
4.小进制转化成大进制(此处略)
二、二进制运算规则
1.加法:“逢二进一”减法:“借一当二”其他一样。
三、机器数和码制
1.机器数:各种数据在计算机中所表示的形式 其特点采用二进制计数制,符号用0或1表示<小数点隐含表示而不占位置>。
2.真值:机器数到对应的实际数值
3.纯整数:小数点位置在机器数值最低数值位之后。
4.纯小数:小数点位置在机器数值最高数值位之前。
5.无符号数:表数范围是非负数即全部二进制位均代表数值,没有符号位。
6.带符号机器数 不同的编码方法:
1)原码表示法:数值x的原码记为[x]原
最高位符号位,0为正1为负其余的n-1表示数值的绝对值。
重点:数值0的原码表示形式:[+0]原=00000000 [-0]原=10000000
例1(n=8):
[+1]原=00000001 [-1]原=10000001
[+127]原=01111111 [-127]原=11111111
2)反码表示法:数值x的原码记为[x]反
正数的反码与原码相同,负数的反码则是其绝对值按位求反
重点:数值0的反码表示形式:[+0]反=00000000 [-0]反=11111111
例2:[+1]反=00000001 [-1]反=11111110
[+127]反=01111111 [-127]反=10000000
3)补码表示法:数值x的原码记为[x]补
正数的补码和反码与原码相同,负数的补码等于其反码的末尾加1
重点:0有唯一的编码:[+0]补=00000000 [-0]补=00000000
[+1]补=00000001 [-1]补=11111111
[+127]补=01111111 [-127]补=10000001
4)移码表示法:(此略)
四、定点数和浮点数
定点数:
顾名思义就是表示数据时小数点的位置固定不变。小数的位置通常有两种约定方式:
定点整数,定点小数。
浮点数:
浮点数是指小数点不固定的数,他表示更大范围的数。
一个实数可以写成多种表示形式:例如:
83.125=10^3 x0.083125 或 10^4x0.0083125等
二进制数: 例如:1011.10101可写成 2^4x0.101110101
总结式:N=2^ExF(其中E为阶码,F为尾数)这种表示数据的方法称为浮点表示法。
浮点数的表示格式如下:
|--------|----------|---------|--------|
| 阶符 | 阶码 | 数符 | 尾数 |
|--------|----------|---------|--------|
由此不难看出浮点数所能表示的 数值范围 主要由<阶码>决定;数值的精度主要由<尾数>决定
注意:当尾数的值不为0时规定尾数域的最高有效位应为1,这是浮点数的规格化表示。
注意:1)在N=2^ExF 中F 当F>=0 时 则其规格化为01xxxxxxx...其中x可以为0也可为1
2)当F<0 则其规格化为10xxxxxxx...其中x可以为0也可为1
参考文献《程序员教程》