2.1 计算机中数据的表示
2.1.1 进位计数制及其转换
不同数制的共同特点
:
每种数制都有固定的符号集。
每种数制都使用位置表示法。
十进制与二进制相互转换
十→二:十进制数的整数部分《除二取余》,小数部分《乘二取整》
二→十:将二进制数的每一位数乘以它的权值,然后相加。
八进制与十进制、二进制相互转换
十→八:十进制数的整数部分《除八取余》,小数部分《乘八取整》
二→八:从小数点起,每三位二进制位分成一组(不足3位时,在小数点左边则左边补0,在小数点右边则右边补0),然后写出每一组的等值八进制数,顺序排列起来就得到所要求的八进制数。
八→二:将一位八进制数用三位二进制数表示,就可以直接将八进制数转换成二进制数。
十六进制与十进制、二进制转换
十→十六:十进制数的整数部分《除16取余》,小数部分《乘16取整》
二→十六:从小数点开始,每4位二进制数为一组(不足4位时,在小数点左边则左边补0,在小数点右边则右边补0),将每一组用相应的十六进制数符来表示,即可得到正确的十六进制数
2.1.2 二进制运算规则
加法
:二进制加法的进位规则时“逢二进一”
减法
:二进制减法的错位规则是“借一当二”
乘法
:
2.1.3 机器数和码制
3.1原码表示
数值X的原码记为[X]原如果机器字长位n(即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]原=00000000
[-0]原=10000000
3.2反码表示
数值X的反码记作[X]反,如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的反码与原码相同,负数的反码则是原码绝对值按位求反。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]反=00000000
[-0]反=11111111
3.3补码表示
数值X的补码记作[X]反,如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]补=00000000
[-0]补=00000000
3.4移码表示
移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。如果机器字长为n,在偏移量位2n-1时,只要补码的符号位取反便可获得相应的移码表示。偏移量也可以是其他值。采用移码表示时,码值大者对应的真值就大。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]移=10000000
[-0]移=10000000
2.1.4 定点数和浮点数
定点数
表示数据时小数点的位置固定不变。
定点整数、定点小数
机器字长为n时各种码制表示的带符号数的范围
码制 | 定点整数 | 定点小数 |
---|---|---|
原码 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
反码 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
补码 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) |
移码 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) |
浮点数
浮点数是小数点位置不固定的数,浮点表示法能表示更大范围的数。
一个含小数点的二进制数N可以表示位更一般的形式:
N=2E*F
其中,E成为阶码,F为尾数,这种表示方法成为浮点表示法。
2.1.5 十进制数与字符的编码表示
十进制数:0~9。
8421BCD码:在8421BCD码基础上加0011。
格雷码:已0000开始相邻的两个代码之间只有一位不同。
2.1.6 ASCII码
ASCII码采用7个二进制标识,即d6d5d4d3d2d1d0对字符进行编码:
低4位组d3d2d1d0用作行编码,
高3位组d6d5d4用作列编码。
0的ASCII码值011 0000(25+24=48)。
a的ASCII码值110 0001(26+25+20=97)。
2.1.7 汉字编码
输入码汉字输入码分为三类:数字编码、拼音编码、字形编码。
- 数字编码
就是用数字串代表一个汉字的输入。
常见的数字编码是国标区位码。
国标区位码将国家标准局公布的6763个两级汉字1分成94个区,每个区94位。汉字在区位码表的排列时有规律的。
1~15区:字母、数字和符号
16~87区:一级汉字、二级汉字
88~94区:未安排字符码位
附加资料:
1.区位码查询(https://www.qqxiuzi.cn/bianma/quweima.php)
2.码表(https://www.qqxiuzi.cn/zh/hanzi-gb2312-bianma.php) - 拼音编码
拼音码是以汉语读音为基础的输入方法。
由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,会影响输入速度。 - 字形编码
以汉字的形状确定的编码,五笔字型编码是最常见的输入码。
内部码:
汉字内部码是汉字在设备和信息处理系统内部存储、处理、传输汉字用的代码。
字形码:
汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示,用点阵表示字形时,汉字字形码指的就是这个汉字字形点阵的代码。
2.1.8 Unicode
ISO/IEC 10646(简称UCS)
Unicode
UCS-2到UTF-8的编码对应关系如下表
2.2 校验码
2.2.1 奇偶校验码
2.2.2 海明码
⊕⊖⊝
2.2.3 循环冗余校验码
2.3 逻辑代数及逻辑运算
2.3.1 基本逻辑运算
2.3.2 常用的逻辑公式
2.3.3 逻辑表达式及其化简
2.4 机器数的运算
2.4.1 机器数的加减运算
2.4.2 机器数的乘除运算
2.4.3 浮点运算
两级汉字: 一级汉字以汉语为序排列,二级汉字以偏旁部首进行排列 ↩︎