1.数值信息表示
(1)数的符号表示
1)二进制数最高位为符号位,符号位为0表示正数,符号位为1表示负数。
2)0的两种表示方式:【+0】=0 000 0000,【-0】=1 000 0000
(2)原码、补码、反码、移码
1)原码:最高位为符号位,其余各数值位取原值不变
2)补码:对于正数:[X]补码=[X]原码。对于负数:符号位仍为“1”,各数值位“按位取反,末位再加1”。
【补码优点:将减法运算转为加法运算】
【0】的原码和反码都有两种补码只有唯一的一种:【+0】=【-0】=0 000 0000
3)反码:对于正数:[X]反码=[X]原码。对于负数:符号位仍为“1”,各数值位“按位取反”。
4)移码:在计算机中,移码通常用于表示浮点数的阶码。由于阶码一般取整数,所以移码通常只用于整数的表示。对定点整数,移码的定义是:[X]移=2^N+X【X为阶码的真值,N为移码整数部分的位数】
等价于将X正向平移或者增加2^N,因此称为移码或增码。
正数:将原码符号位变反得到移码。 负数:将原码连同符号位一起变反后末位+1得到移码。
(3)定点数和浮点数
计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。
1)定点数:
1.定点格式表示的数值范围有限,但要求处理的硬件比较简单。
2.定点表示法:所有小数点固定在同一位置不变。
3.定点纯整数:X0[符号位]X1X2X3X4.......XN【小数点固定最后一位,不需要专门存放位置】
4.定点纯小数:X0[符号位]【小数点固定在符号位之后,不需要专门存放位置】X1X2X3X4......XN
2)浮点数
1.浮点格式表示的数值范围很大,但要求的处理硬件比较复杂。
2.浮点表示:小数点位置随阶码不同而浮动【阶码:在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码。】
3.格式:N=R^E.M 【R为基数,取固定的值,E为指数,M为尾数】
2.字符信息表示
(1)ASCII码:American Standard Code for Information Interchange
特殊的ASCII码:
十进制 | 十六进制 | |
空格 | 32 | 20H |
A | 65 | 41H |
a | 97 | 61H |
0 | 48 | 30H |
(2)汉字编码
1) 汉字输入编码:数字码、拼音码和字形码【输入】
2)汉字内码:是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。【内部处理】
3)汉字字模码:字模码用点阵表示的汉字字形代码,是汉字的输出形式。【输出】
3.数据的校验
(1)奇偶校验:用于并行码检错,在 k 位数据码之外增加 1 位校验位,使 K+1 位码字中取值为 1 的位数总保持为 偶数(偶校验)或 奇数(奇校验)。
(2)海明校验:校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号为2i-1的位置,其余各位为数据位,并按从低位向高位逐位依次排列的关系分配各数据位。海明码的每一位码Hi由多个校验位校验,其关系是被校验的每一个位位号要等于校验它的各校验位的位号之和。在增大合法码的码距时,使所有码的码距尽量均匀的增大,以保证对所有码的验错能力平衡提高。
(3)循环冗余校验:用于多位串行数据传送中的检错纠错处理,在 k 位数据位串行移位输出的过程中,用带有异或门控制的移位寄存器形成r 个校验位的值,跟随在数据位之后传送走。在接收端再对 k+r 位的码字进行合法与出错检查,若可能则自动改错。【计网】
4.定点加减乘除
(1)补码加减法:
1)补码加法:[X+Y]补=[X]补+[Y]补
2)补码减法:[X-Y]补=[X]补+[-Y]补
3)串行加法器:串行加法器即加法器执行位串行行操作,利用多个时钟周期完成一次加法运算,即输入操作数和输出结果方式为随时钟串行输入/输出。
4)并行加法器:用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的个数与操作数的位数相同。
5)溢出检测:计算机运算溢出检测机制,采用双符号位,00表示正号,11表示负号。如果进位将会导致符号位不一致,从而检测出溢出。结果的符号位为01时,称为上溢;为10时,称为下溢。
(2)定点原码乘法:
1)部分积:在乘法中,如果乘数是两位或两位以上的数,乘的时候,就要用乘数的每一位去乘被乘数,每次乘得的积,叫做部分积,或叫做不完全积。
2)定点原码乘法的实现:1.硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(时间延迟太长)。2.不带符号位的阵列乘法器
3)定点原码乘法的原理例子讲解:https://www.jianshu.com/p/179bac85b594。【跟着例子写一遍即可】
4)补码乘法操作:与原码乘法的区别为【判断位为两位】:https://www.cnblogs.com/Mayfly-nymph/p/11102136.html
判断位 | 操作 |
00 | 右移一位 |
01 | 加上部分积的补码,再右移一位 |
10 | 减去部分积的补码,再右移一位 |
11 | 部分积和被乘数相加后右移一位 |
(3)定点原码除法:
1)人工计算二进制除法:判断被除数与除数的大小,若被除数小,则上商0,并在余数最后位补0,再用余数和除数比,若够除,则上商1,否则上商0。
2)恢复余数法:计算余数(第一步是被除数)和除数之间的差。当差为正数时,则上商1,而当差为负数时,则上商0,同时加上除数,恢复成原余数(第一步是被除数)
5.浮点加减乘除
(1)浮点的加减法:
1)定义:
设有两个浮点数x和y,它们分别为
x=2^Ex·Mx
y=2^Ey·My
其中Ex和Ey分别为数x和y的阶码,Mx和My为数x和y的尾数。两浮点数进行加法和减法的运算规则是
x±y=(Mx2^(Ex-Ey)±My)2^Ey
2)运算步骤:
1. 0 操作数的检查,看有无简化操作的可能;
2. 比较阶码大小并完成对阶(小阶向大阶对齐);
3. 尾数进行加或减运算;
4. 结果规格化并进行舍入处理
(2)浮点的乘除法:
1)定义:
x= 2^ E x · M x
y= 2^ E y · M y
2)运算步骤:
1. 0操作数检查