计算机中的编码,数制及转换

常用进制

二进制、八进制、十进制、十六进制

十进制

数码:0;1;2;3;4;5;6;7;8;9

进位规则:逢十进一

表示字母:D(可省略)

示例:101D;123

二进制

数码:0;1

进位规则:逢二进一

表示字母:B

示例:101;10B

八进制

数码:0;1;2;3;4;5;6;7

进位规则:逢八进一

表示字母:O

示例:101;456O

十六进制

数码:0;1;2;3;4;5;6;7;8;9;A;B;C;D;E;F(不区分大小写)

进位规则:逢十六进一

表示字母:H

示例:10119H;0A123H(首位是字母,则开头为零)

进制转换

十进制转二进制

整数部分转换:除以二取余数部分,倒序

小数部分转换:乘以二取整数部分正序

注:乘到小数位为零,若一直不为零,虚截取一定位数(三至四位)即可

例:10.25D=1010.01B;12.8125D=1100.1101B

十进制转八进制

整数部分转换:除以八取余数部分,倒序

小数部分转换:乘以八取整数部分正序

例:126.64D=176.507O

十进制转十六进制

整数部分转换:除以十六取余数部分,倒序

小数部分转换:乘以十六取整数部分正序

注:乘到小数位为零,若一直不为零,虚截取一定位数(三至四位)即可

例:126.64D=7E.A3H

二进制转十进制

  • 计算按权位展开求和
  • 整数部分:从右到左,从二的零次方开始指数逐次加一

  • 小数部分:从左到右,从二的-1次方开始指数逐次减一

例: 10.101 B = 2.625 D

整数部分:1 * 21 +0 * 20 = 2 小数部分: 1 * 2-1 + 0 * 2-1 + 1 * 2 -2 = 0.5 + 0.125 = 0.625

八进制转十进制

  • 计算按权位展开求和

  • 整数部分:从右到左,从八的零次方开始指数逐次加一

  • 小数部分:从左到右,从八的-1次方开始指数逐次减一

十六进制转十进制

  • 计算按权位展开求和

  • 整数部分:从右到左,从十六的零次方开始指数逐次加一

  • 小数部分:从左到右,从十六的-1次方开始指数逐次减一

例: 12CCB.12 = 77003.0703125

整数部分12CCB = 1 * 164 + 2 * 16 3 + 12 * 162 + 12 * 161 +11 * 16 0 = 77003

小数部分0.12 = 1 * 16-1 + 2 * 16-2 = 0.0625 + 0/0078125 = 0 .0703125

二进制转八进制

  • 整数部分:从右到左,每三位为一个八进制数,不够三位前面补零

  • 小数部分:从左到右,每三位为一个八进制数,不够三位后面补零

  • 无论是整数还是小数,每组按整权位展开求和计算

例: 1101.10 = 15.4

整数部分: 001 101 = 1 5 小数部分: 100 = 4

二进制转十六进制

  • 整数部分:从右到左,每四位为一个十六进制数,不够三位前面补零

  • 小数部分:从左到右,每四位为一个十六进制数,不够三位后面补零

  • 无论是整数还是小数,每组按整权位展开求和计算

例: 10101.10 = 15.8

整数部分: 0001 0101 = 1 5 小数部分: 1000 = 8

十六进制转二进制

  • 0A9.67 H = 1010 1001.0110 0111 B
  • 每位数字用四位二进制数表示

整数: A =1010 9= 1001 小数: 6 = 0110 7 0111