-
进位计数制
- 进位基数
R进制中规定使用的数码符号的个数,就叫做该R进制的进位基数(也可以叫进位模数)。
比如,二级制基数为0和1,十进制为0~9。可以理解为几进制,其进位基数就是几。- 数位的权值
各个数位的权值可以表示成的形式,其中R是进位基数,i 是各数位的序号。
以十进制为例。下表是D,二进制是B,十六进制H,八进制O。
十进制数,(368.258)D 用基数和权值表示就是 3x+6x
+8x
.2x
+5x
+8x
。以小数点为界,整数部分向左依次为0,1,2。。。;小数部分向右依次为-1,-2,-3 。。
- 计算机系统中,二进制主要用于急切内部的数据处理;八进制和十六进制主要用于书写程序,十进制主要用于运算最终结果的输出。
-
数制转换
- 非十进制转换成十进制
按权展开相加 - 十进制转换成其他进制
整数部分转换,采用基数连除法;
小数部分转换,采用基数连乘法。
既有整数也有小数,整数和小数分开转换,最后再相加。
基数连除法: 说白了就是一遍遍的除R,直到商为0,每次除的时候都记录下余数,余数从上到下依次排列,商为0的时候,再将余数从下到上依次写出来,就是这个十进制数,R进制的表示方法。
举个例子:(10)D = (?)B。求这里的❓
∵ B代表二进制
∴ 除数为2,也就是上文中R为2.
第一次, 10➗2 商5,余数0
第二次, 5➗2 商2,余数1
第三次, 2➗2 商1,余数0
第四次, 1➗2 商0,余数1
遇到商为0了,倒着写余数,1010 ,所以10进制的10用二进制表示就是1010.
基数连乘法:就是一遍遍的乘以R,直到小数部分为0,或者满足精度要求为止。
乘的时候,记下整数部分,当出现满足要求时候,从上到下将结果写出来,前面加小数点就是该进制下的这个十进制数表示值。
举个例子:(0.85)D = (?)H。求这里的❓
∵ H代表二十六进制
∴ 乘数为16,也就是上文中R为16.
第一次, 0.85x16 =13.6。。。 13=D 最高位
第二次, 0.6x16 =9.6。。。 9 =9
第三次, 0.6x16 =9.6。。。 9=9
保留三位有效小数也够了,所以从最高位写下来十进制0.85的十六进制数就是 0.D99
二进制转八进制或十六进制
就是向左向后每三位或者每四位分为一组。最关键的是注意小数部分的补位。
(1010.1011)B 这个二进制数要是转换成八进制数, 小数部分每三位一分,
.1011=. 101 100
这个位置一定要补位00
-
常用编码
- 有权代码
无权代码
自补代码
码距
单位距离码
循环码
BCD码
格雷码
奇偶校验码
ASCII码