深入理解计算机系统 第二章 信息的表示和处理 part2

上一周遗留问题的解决

问题:原码、反码、补码是只针对有符号数吗?无符号数有没有这三种编码方式?

得到的答案:对于无符号数,原码、反码和补码是一致的

进一步,由于有符号数是以补码的形式存储在计算机中的,而无符号数三种编码都是一致的,所以我们可以说,整型数在计算机中是以补码的形式存在的

参考文章:

https://www.jianshu.com/p/ffc97c4d2306

浮点数

对于浮点数,看了刘大的文章《看完这篇文章,你肯定理解什么是浮点数了》之后,知道了两点

1、浮点数是如何存储的

2、浮点数为什么不精确

关于浮点数为什么不精确,用我自己的话总结就是:

1、十进制小数部分转为二进制小数部分的时候,不是所有的十进制小数都能被精确的转换

2^(-1) = 0.5,2^(-2) = 0.25,2^(-3) = 0.125,2^(-4) = 0.0625……

而只有能被以上这些数精确表示(精确表示:对于某个数为 x,以上这些数分别称为 a1、a2、a3、a4……,能写成 x = n*a1 + m*a2 + z*a3…… 的形式,且项的个数是有限的,其中 n、m、z 为整数 )的数,才能被浮点数精确地表示出来。

2、表示小数的二进制位有限(根据 IEEE 754 标准,在 32 位机器中,23 位用于表示小数)

但是,对于浮点数的点到底“浮”在哪里?还是不清楚。既然规定了符号位(1位)、尾数(23位)和指数(8位)的位数,那浮点数不还是定点数吗?

原文地址:https://www.cnblogs.com/stone94/p/9866674.html

时间: 2024-11-06 10:56:53

深入理解计算机系统 第二章 信息的表示和处理 part2的相关文章

深入理解计算机系统 第二章 信息的表示和处理

欣哥划重点: @所有人, 第二章比较难,我建议至少掌握下面几个知识点: 1. 字节顺序 : 大端和小端 2. 运行 图2-24, 图2-25程序 show-bytes.c 观察结果,看看有什么问题 3. 理解布尔运算,位运算 4. 理解无符号数和有符号数, 给一个数,能计算出补码 5. 理解浮点数的表示法,给一个十进制小数,能转换成二进制的浮点数表示 原文地址:https://www.cnblogs.com/stone94/p/9824395.html

CSAPP深入理解计算机系统第二章荟萃

1.可以利用数字的算数右移,然后利用0XFF这样的数字做掩码运算,可以获取到一个数字的符号位.计算机的移位运算有一种很重要的作用就是利用掩码运算去提取一个位模式的一段信息. 2.在C语言中的条件语句,以及三目的条件运算符,都可以用移位的方式来做. 3.在进行位扩展操作的时候,比较讲一个32位的有符号数扩展到64位,那么在保证原来的值不变的情况下,把31个低位扩展到64位的低位上,而最高的符号位扩展到高33位上. 4.利用位模式仅仅只能表示一些2的n次幂的一些浮点数,其他的比较特殊的有理数,会近似

深入理解计算机系统 第二章要点

1.每台机器都有一个字长,指明了整数和指针的标称大小(normal size),长整数(long int)和指针的大小都是字长(32位机器是32位,64位机器是64位),字长代表了机器的寻址时地址大小,进而限定了寻址空间的大小,字长w的寻址范围是0-2的(w-1)次方,32位机上线是4G.除了和字长同步的类型(long int和指针)其他类型大小和机器无关,比如char,short,int4,long long int8, float4, double8在32位机器上对8字节的类型数据操作时,先

深入理解计算机系统-第二章

疑惑: ***."十进制数字x的ASCII码正好是0x3x"(p31) ```.照上面这么说,十进制1的ASCII码该是0131,很明显错误的,找到一个ASCII码来看下"1"的ASCII码是"49", 再仔细参考下书中上下文,发现上面说了十进制1的ASCII码是31,那原句这么说"十进制数字_x的ASCII码正好是0x3_x"是不是更好理解点, 避免"x"的理解错误,你可能又会说,现在还是不对啊,现在1的

深入理解计算机系统第二章家庭作业

*2.91遵循位级浮点编码规则,实现具有如下原型的函数: /* Compute |f|. If f is NaN ,then return f. */ float_bits float_absval (float_bits f); 对于浮点数f,这个函数计算|f|.如果f是NaN,你的函数应该简单地返回f. 测试你的函数,对参数f可以取的所有2^32个值求值,将结果与你使用机器的浮点运算得到的结果相比较. 解题过程 ****2.95遵循位级浮点编码规则,实现具有如下原型的函数: /* Compu

深入理解计算机系统 第二章答案

http://rooftrellen.com/blog/computer-systems-a-programmers-perspective-chapter-2-homework-problem/

《深入理解计算机系统(第三版)》第二章 信息的表示和处理

<深入理解计算机系统(第三版)>第二章 信息的表示和处理 ??计算机本身是由处理器和存储器子通过系统组成.在核心部分,我们需要方法来表示基本数据类型,比如整数和实数运算的近似值.然后,我们考虑机器级指令如何操作这样的数据,以及编译器又如何将C程序翻译成这样的指令.接下来,研究几种实现处理器的方法,帮助我们更好的了解硬件资源如何被用来执行指令.理解了编译器和机器级代码,我们就能了解如何通过编写C程序以及编译它们来最大化程序的性能.本章主要使我了解了如何表示和执行应用程序,通过一些技巧,来写出安全

高项3.7日第一次课,第一章信息化基础知识与第二章信息系统服务管理梳理

第一章 信息化的基础知识 1.国家信息化体系要素: 主要包括6要素,信息技术应用(龙头).信息资源(关键).信息网络(必要手段).信息技术产业(基础).信息化人才(成功之本).信息化法规政策和规范(保障). 2.电子政务: 电子政务建设的指导原则: (1)统一规划,加强领导. (2)需求主导,突出重点. (3)统一规划,拉动产业. (4)统一标准,保障安全. 主要任务: (1)电子政务网络由政务内网和政务外网构成,两网之间物理隔离,政务外网与互联网之间逻辑隔离.政务内网主要是副省级以上政务部门的

深入理解计算机系统读书笔记之第二章信息的表示和处理

这一章读完,嗯,感觉怎么说呢? 就是读完了而已,没有想第一章那样,有具体的一些收获什么的.可能是没有很认真的阅读.读的很匆忙,有的内容很晦涩难懂............ 不管怎样还是在写一写自己的收获吧 这一章讲的是信息的表示和处理, 信息在系统中是怎样表示的呢?就是以字节来进行存储.信息就是位+上下文(第一章里面讲的) 具体的信息是怎样表示的? 带符号整数,不带符号整数,浮点数,等等. 1位运算 移位,向右移位 x>>k 分为两种形式 (1)逻辑上,向右移位就是在左端添加k个零[an-1,a