本节内容主要分为:
(一):数制与编码
1:进位计数制及其相互转换;真值和机器数
2:BCD码;字符与字符串;校验码
(二):定点数的表示和运算
1:定点数的表示
有无符号数的表示
2:定点数的运算
定点数的移位运算,原码定点数的加减运算;补码定点数的加减运算
定点数的乘除运算,溢出概念和判定方法
(三):浮点数的表示和运算
1:浮点数的表示
2:浮点数的加减运算
(四):算术逻辑单元ALU
1:串行加法器和并行加法器
2:算术逻辑单元ALU的功能和结构
2.1:数制与编码
2.1.1 进位计数制及其相互转换
可以参考这篇 https://wenku.baidu.com/view/15f3b4826529647d26285205.html
2.1.2真值和机器数
在计算机中,通常采用数的符号和数值一起编码的方法来表示数据,常用的有原码,补码,反码表示法。这种把符号“数字化”的数 称为机器数。
2.1.3BCD码
二进制编码的十进制数(Binary-Coded Decimal,BCD)通常采用4位二进制数来表示一位十进制数中的0~9这10个数码。但2^4 = 16 - 10= 6, 其有6种状态为冗余状态。
8421码:
8421码又称为BCD码,是十进制代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数码。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。
2.1.4字符与字符串
计算机内部只能识别和处理二进制代码,所以字符都必须按照一定的规则用一组二进制编码来表示。
在 ASCII 编码中,一个英文字母字符存储需要1个字节。在 GB 2312 编码或GBK 编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。
字符串的存放:一种常用的表示法是使用一个字符代码的数组,每个字符占用一个字节(如在ASCII代码中)或两个字节(如在unicode中)。它的长度可以使用一个结束符(一般是NUL,ASCII代码是0,在C编程语言中使用这种方法)。</