
一、常见的进制进制基数数字符号前缀/后缀二进制20, 10b如 0b1010八进制80~70o 或 0如 0o17十进制100~9无十六进制160~9, A~F0x如 0x1F二、各进制转十进制方法按权展开求和对于任意 R 进制数第 i 位的权是 R的i次方整数部分从右往左i 从 0 开始例 1二进制 1011 → 十进制1×2**30×2**21×2**11×2**0802111 二进制对应底数是 2例 2十六进制 2F → 十进制2×16**115×16**0321547 十六进制对应底数是 16例 3带小数 101.11二进制→ 十进制1×2**20×2**11×2**01×2(−1)1×2**(−2)4010.50.255.75其他根据R进制 对应底数是R以此类推。三、十进制转其他进制1. 整数部分除R取余逆序排列例十进制 45 → 二进制45 ÷ 2 22 ... 余 122 ÷ 2 11 ... 余 011 ÷ 2 5 ... 余 15 ÷ 2 2 ... 余 12 ÷ 2 1 ... 余 01 ÷ 2 0 ... 余 1从下往上读余数101101十进制45 -- 八进制 就除以 8取余 -- 十六进制就除以16取余。 其他以此类推2. 小数部分乘R取整顺序排列例十进制 0.625 → 二进制0.625 × 2 1.25 → 取整 10.25 × 2 0.5 → 取整 00.5 × 2 1.0 → 取整 1小数部分变为 0转换结束。从上往下读整数0.101 (小数转出来的101本身也是一个二进制数如果不加小数点它会被理解成整数101十进制 5而不是 0.101十进制 0.625。)十进制 0.625 → 八进制 用0.625 × 8 5.0 取整数部分5 小数部分变为 0转换结束因此八进制结果为0.5。 其他以此类推。3. 整数部分和小数部分要拼回去小数点不能丢示例十进制数45.625转二进制45.625├── 整数部分 45 → 除2取余逆读 → 101101└── 小数部分 0.625 → 乘2取整顺读 → 101最后拼起来45.625(10)101101.101(2)注这里的(10) 和 (2 ) 对应 十进制 和 二进制整数部分... 2² 2¹ 2⁰↑ ↑ ↑高位 低位越往左权越大。所以除基取余时先得到的余数是低位要逆序读才能得到正确结果。小数部分2⁻¹ 2⁻² 2⁻³ ...↑ ↑ ↑高位 低位越往左权越大越往右权越小。所以第一个乘出来的整数对应的是 2−12−1 位也就是小数点后第一位。0.101(二进制1×2**(−1)0×2**(−2)1×2**(−3)0.500.1250.625四、二进制与八进制、十六进制的快速转换这是最常用的技巧因为 82³162⁴。二进制 ↔ 八进制3 位一组例二进制 10110101 → 八进制从右往左每 3 位分组不足补 0010 110 1012 6 5结果265二进制 ↔ 十六进制4 位一组例二进制 10110101 → 十六进制从右往左每 4 位分组1011 0101B 5结果B5反向转换八进制/十六进制 → 二进制只需把每位拆成 3 位/4 位二进制即可。3 → 0011A → 1010结果00111010去掉前导 0 为 111010五、常用对照表十进制二进制八进制十六进制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F六、总规律任何进制转十进制本质都是一句话每一位数字 × 这一位的权重然后全部加起来。权重怎么来整数部分从右往左第 0 位、第 1 位、第 2 位……小数部分从左往右第 -1 位、第 -2 位、第 -3 位……对于 R 进制第 i 位的权重 R**i所以十进制值∑(该位数字×R**i)一、二进制二进制基数 R 2。权重位置权重整数第0位2**01整数第1位2**12整数第2位2**24整数第3位2**38小数第1位2(−1)0.5小数第2位2**(−2)0.251. 只有整数部分例二进制101从右往左写权重二进制 1 0 1位置 2 1 0权重 4 2 1计算1×40×21×14015所以101(2)5(10)原始过程最右边是第0位权重 2**01中间是第1位权重 2**12最左边是第2位权重 2**24是 1 就加对应权重是 0 就不加2. 只有小数部分例二进制0.101从小数点后第一位开始二进制 0 . 1 0 1位置 -1 -2 -3权重 0.5 0.25 0.125计算1×0.50×0.251×0.1250.500.1250.625所以0.101(2)0.625(10)原始过程小数点后第1位权重 2**(−1)0.52−10.5小数点后第2位权重 2−20.252−20.25小数点后第3位权重 2−30.1252−30.125仍然是数字 × 权重然后相加3. 整数部分 小数部分例二进制101.101拆成两半整数部分101(2)4015小数部分0.101(2)0.500.1250.625合起来101.101(2)5.625(10)原始过程二进制 1 0 1 . 1 0 1位置 2 1 0 -1 -2 -3权重 4 2 1 0.5 0.25 0.125计算1×40×21×11×0.50×0.251×0.1254010.500.1255.625二、八进制八进制基数 R 8。权重位置权重整数第0位8**01整数第1位8**18整数第2位8**264整数第3位8**3512小数第1位8**(−1)0.125小数第2位8**(−2)0.0156251. 只有整数部分例八进制257从右往左八进制 2 5 7位置 2 1 0权重 64 8 1计算2×645×87×1128407175所以257(8)175(10)2. 只有小数部分例八进制0.25八进制 0 . 2 5位置 -1 -2权重 0.125 0.015625计算2×0.1255×0.0156250.250.0781250.328125所以0.25(8)0.328125(10)3. 整数部分 小数部分例八进制257.25整数部分257(8)175(10)小数部分0.25(8)0.328125(10)合起来257.25(8)175.328125(10)三、十进制十进制基数 R 10。其实我们平时写的十进制数本身就是按权展开的结果。权重位置权重整数第0位10**01整数第1位10**110整数第2位10**2100小数第1位10**(−1)0.1小数第2位10**(−2)0.011. 只有整数部分例十进制257十进制 2 5 7权重 100 10 1计算2×1005×107×12005072572. 只有小数部分例十进制0.25十进制 0 . 2 5权重 0.1 0.01计算2×0.15×0.010.20.050.25四、十六进制十六进制基数 R 16。数字0 1 2 3 4 5 6 7 8 9 A B C D E F其中A 10B 11C 12D 13E 14F 15权重位置权重整数第0位16**01整数第1位16**116整数第2位16**2256整数第3位16**34096小数第1位16**(−1)0.0625小数第2位16**(−2)0.003906251. 只有整数部分例十六进制2F先转换字母F 15从右往左十六进制 2 F位置 1 0权重 16 1数字 2 15计算2×1615×1321547所以2F(16)47(10)2. 只有小数部分例十六进制0.8十六进制 0 . 8位置 -1权重 0.0625数字 8计算8×0.06250.5所以0.8(16)0.5(10)3. 整数部分 小数部分例十六进制2F.8整数部分2F(16)47(10)小数部分0.8(16)0.5(10)合起来2F.8(16)47.5(10)