深入理解计算机系统习题

问题描述

深入理解计算机系统习题

深入理解计算机系统习题 希望得到详细的讲解及解题过程 非常感谢

解决方案

看教材怎么说的。
思路就是( 左边的尾数+1) * 10^(阶码-偏置)=值。
右边将尾数四舍五入。并且填入(指数+偏置)。
比如第一个题:
011 0000指数3,偏置3,尾数0 就是1 x 2^(3-3) = 1 x 1 = 1
因为指数是0,所以第二个+7指数填写7,0111,尾数1,填写0,就是000
第二个题
101 1110指数5,偏置3,尾数14 就是15 x 2^2=60
因为指数是5,所以第二个就是12,写1100,尾数14就是1110,但是写不下,只能/2=7,111。而指数+1,写1101
故填写1101 111
第三题
0111 100 值 5
第四题
1111 111 值 64
第五题
0101 000 值 1/4

解决方案二:

IEEE754的基本题,看看格式就可以了。

时间: 2024-09-23 11:12:29

深入理解计算机系统习题的相关文章

深入理解计算机系统-之-数值存储(二)--C程序打印变量的每一字节或者位

大端与小端 前面我们提到了依据CPU端模式的不同,数据的存储顺序也不一样. 采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,BE big-endian 大端模式 ,最直观的字节序 ,地址低位存储值的高位,地址高位存储值的低位 ,不需要考虑对应关系,只需要把内存地址从左到右按照由低到高的顺序写出 ,把值按照通常的高位到低位的顺序写出 ,两者对照,一个字节一个字节的填充进去 LE little-endian 小端模式,最符合人的思维的字节序,地址低位存储值的低位,地址高位存储值的高位 ,怎

汇编 c语言转换-深入理解计算机系统练习题3.22,不明白下面汇编代码的作用?

问题描述 深入理解计算机系统练习题3.22,不明白下面汇编代码的作用? movl 8(%ebp) %edxmovl $0%eaxtestl %edx%edxje .L7.L10:xorl %edx%eaxshrl %edxjne .L10.L7:andl $1%eax 解决方案 不明白其中那一点还是全部都不会i?

《深入理解计算机系统》第二版中的关于条件转移的疑问

问题描述 <深入理解计算机系统>第二版中的关于条件转移的疑问 <深入理解计算机系统>第二版3.6.6条件转移指令: 这一部分讲的大概意思是不是这样: if (statement1) { statement2: } else { statement3: } 如果statement1容易计算,那么使用数据的条件转移,将statement2,statement3计算出来,在判断statement1,通过statement1的结果决定执行statement2还是statement3: 如果

深入理解计算机系统-之-内存寻址(五)--页式存储管理

前景回顾 前面我们讲解了操作系统段式存储管理的主要内容. 32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序.虚拟存储器地址空间能够可达64TB.它还提供了复杂的存储管理和硬件辅助的保护机构和增加了支持多任务操作系统的特别优化的指令.实际上,64TB的虚拟地址空间是有磁盘等外部存储器的支持下实现的.在编写程序是可以放在磁盘存储器上,但在执行时,必须把程序加载到物理存储器中.而存储器管理就是要将46位虚拟地址变换成32位物理地址. 将程序分成不同

risc-关于《深入理解计算机系统》中 CISC 和 早期的RISC 的区别

问题描述 关于<深入理解计算机系统>中 CISC 和 早期的RISC 的区别 <深入理解计算机系统>(中文第2版)中236页对比 CISC 和 早期的RISC 的区别中有这样一段:CISC:对机器级程序来说实现细节是不可见的.ISA 提供了程序和如何执行程序之间的清晰的抽象.早期的RISC:对机器级程序来说实现细节是可见的.有些 RISC 机器禁止某些特殊的指令序列,而有些跳转要到下一条指令执行完了以后才会生效.编译器必须在这些约束条件下进行性能优化. 解决方案 这个真的很有难度,

c语言-深入理解计算机系统 8.3题

问题描述 深入理解计算机系统 8.3题 #include int main() { if(fork()==0){ printf("a"); } else{ printf("b"); waitpid(-1,NULL,0); } printf("c"); exit(0); 求问这个程序的可能输出序列? 答案给出了acbc,bcac,abcc,bacc四种答案. 但是我觉得不应该有四种,因为fork以后有两个进程,但是父进程会遇到waitpid,这个必

linux基础-深入理解计算机系统疑问

问题描述 深入理解计算机系统疑问 为什么说代码段总是从0x08048000开始,这句话说的是所有程序的代码段吗? 解决方案 对于所有进程来说,代码都是从同一固定地址开始,如Linux系统通常从0x08048000开始代码段(如前所述,从地址0到代码段起始地址的部分通常为操作系统保留区).代码及只读数据区是直接按照可执行目标文件的内容初始化的,与目标文件中的代码段(.text).初始化段(.init)及只读数据段(.rodata)相对应. 解决方案二: <深入理解计算机系统>(二)深入理解计算机

《深入理解计算机系统》读书笔记 &amp; 要点总结&lt;下&gt;

§第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,而CPU能够在一个常数时间内访问每个存储器位置.实际上,存储器系统(memory system)是一个具有不同容量.成本和访问时间的存储器层次结构.CPU寄存器保存着最常用的数据.靠近CPU的小的.快速的高速缓冲存储器(cache memory)作为一部分存储在相对慢速的主存储器(main memory)中的数据和指令的缓冲区域.主存暂时存放存储在容量较大.慢速磁盘上的数据,而这些磁盘又常常作为存储在通过网络连接的其它机器的

深入理解计算机系统-之-内存寻址(三)--分段管理机制(段描述符,段选择子,描述符表)

逻辑地址-=>线性地址-=>物理地址 前面我们提到了当使用80x86微处理器时,有三种不同的地址: 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条指令的地址.这个寻址方式在80x86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段.每一个逻辑地址都由一个段(segment)和偏移量(offset或displacement)组成,偏移量指明了从段开始的地方到实际地址之间的距离. 线性地址(linear addres