计算机组成原理第五次笔记

1.不带进位位的循环移动在移动时进位位也要有相应的变化,表现为循环将哪位移出就将该数置于进位位处。例:寄存器内为11001010 进位寄存器的值为0,当不带进位位循环左移后,寄存器中为10010101 进位位为最左端移出的1.若不带进位位的循环右移寄存器为01100101 进位寄存器中为最右端移出的0.
2.算术移动仅限于有符号数且不移动符号位。
逻辑移动仅限于无符号数(有符号数视为无符号数)。
3.按边界对其应查看剩余部分是否能满足下一数据块的大小,若不能则应将该数据靠边界对齐。比如计算机按四字节字,且地址于01H开始
struct shao{
int a;
char b;
short c;
}
shao s1;
假设int a刚好占一个字的数据,所以s1.a起始位置为00H。s1.b为char型数据按左边界对齐。s1.c若紧挨着s1.b所处的字仅有一个字节的空间所以不满足按边界存储,固s1.c应于06H起始到07H。但是若对于下面的结构体
struct zhang{
int a;
char b;
short c;
char d;
}
前面的zhang.b和zhang.c 均于上面一致但对于zhang.c可以置于05H因为后面有一个char型数据可以满足按边界对齐。
4.浮点数的表示:以32位浮点数表示举例:
0:符号位(占1位)1为负,0为正。
1-7:阶码位(占7位)以移码表示,表示基数的阶数。
8-31:尾数位(占24位)以小数原码表示。默认为1.尾数*2^阶码
阶码的位数越大说明可表示的数值范围越大,尾数的位数越大表示数值的精度越高。
5.浮点数的溢出:
正上溢:以32位浮点数举例,正上溢表示超出了浮点数的最大表示范围,浮点数的正数的最大表示值为阶码、尾数尽可能大。以7位移码表示的阶码为2^7-1为127,以24位小数原码为尾数所表示的最大值为1-2的24次方
所以正上溢表示数值超出了(1-2^24)2的127次方
正下溢:以32位浮点数举例,正下溢表示超出了浮点数的精度表示范围,浮点数正数的最小值为符号位为正,阶数最小,尾数最小为0.其中阶码用移码表示为000 0000表示2的-7次方为-128次。
负上溢和负下溢和这两个类似。
6.浮点数的规格化:为了保证尾数的最高位为1.xxx而不是0.001xxx或者1111.1100xx。
左规:将数值左移的操作叫做左规;左规一位阶码要减一,表示尾数
2。
右规:将数值右移的操作叫做右规;右规一位阶码要加一,表示尾数/2.
7.IEEE754标准
IEEE754有两种标准一种是32位包含1位符号位,8位阶码位,23位尾数的位,另一种为64位,包含1位符号位,11位阶码位52位尾数位。其中阶码用移码表示,尾数用隐藏位原码表示(小数点前的1省略)。
IEEE754的阶码的表示和一般移码的表示不一样,因为首位的1被省略掉了,所以移码的偏置值比一般的少1。
IEEE754的表示范围(以单浮点数举例):
最大值:阶码全1、尾数全1.阶码全1表示为2^7-1=127尾数全1表示为1-2的-24次方但IEEE754为省略一位的所以尾数应乘2,固最大值为2的127次方×2-2的-23次方。
IEEE754特殊的表示:阶码全0尾数全0是表示0,符号位为0则为正0反之则为负0.阶码全1尾数全0表示无穷大,符号位为0则为正无穷大,反之则为负无穷大。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值