目录
1.进位计数制
r进制计数法:
基数 = r ;每位数码表示 r 种不同状态,逢 r 进1
2/8/16->10:
10->任意进制:
整数:除基取余(先取得的余是整数的低位);小数:乘基取整(先取得的整是小数的高位)
10->2:拼凑法(记权重)
2<->8/16:
注意补位
真值和机器数:
真值:符合人类习惯的数字
机器数:数字实际存到机器里的形式,正负号需要被“数字化”
2.BCD码(Binary-Coded Decimal)
BCD——用二进制编码的十进制
2.1 8421码
有权码
考点:掌握加法运算
合法范围:0000~1001(0~9);非法范围:1010~10010
2.2余3码
无权码
2.3 2421码
有权码
表示0~4时最高位位0,表示5~9时最高位为1。(保证编码无歧义)
3.无符号整数的表示和运算
无符号整数即自然数:0,1,2,3……
C语言中的无符号整数:
unsigned short(无符号整数)短整型 2B
unsigned int(无符号整数)整型 4B //二者位数不同表示的数值范围不同
3.1无符号整数在计算机硬件中如何表示
3.2无符号整数加减法实现原理
加法:从最低位开始,按位相加,并往更高位进位(可能会有溢出)
减法:
①"被减数”不变,“减数”全部位按位取反、末位+1,减法变加法
②从最低位开始,按位相加,并往更高位进位
4.带符号整数(定点整数)的表示和运算
带符号整数即整数:……-3,-2,-1,0,1,2,3……
C语言中的带符号整数:
short(带符号整数)短整型 2B
int(带符号整数)整型 4B //二者位数不同表示的数值范围不同
4.1带符号整数在计算机硬件中如何表示
同一个含义用不同编码表示:原码、反码、补码、移码
重点写在前面!!!⭐⭐⭐
原码和反码的合法表示范围完全相同,都有两种方法表示真值0
补码的合法表示范围比原码多一个负数,只有一种方法表示真值0
移码的合法表示范围比原码多一个负数,只有一种方法表示真值0
例子:机器字长为8
7+1 bit | 合法表示范围 | 最大的数 | 最小的数 | 真值0的表示 |
带符号整数:原码 | [ -127,127 ] | 0,1111111([+127]原) | 1,1111111([-127]原) | [+0]原:0,0000000 [-0]原:1,0000000 |
带符号整数:反码 | [ -127,127 ] | 0,1111111([+127]反) | 1,0000000([-127]反) | [+0]反:0,0000000 [-0]反:1,1111111 |
带符号整数:补码 | [ -128,127 ] | 0,1111111([+127]补) | 1,0000000([-128]补) | 0,0000000([0]补) |
带符号整数:移码 | [ -128,127 ] | 1,1111111([+127]移) | 0,0000000([-128]移) | 1,0000000([0]移) |
无符号整数 | [ 0,255 ] | 11111111(+255) | 00000000(0) | 00000000 |
原码: