csapp第二章 --- 信息的表示和处理
创始人
2024-05-28 09:17:25
0

本章重点纲要

目录

2.1 数据存储

2.1.1 进制

2.1.2 数据在内存的存储方式---大小端

2.1.3 C语言的一些知识

2.2 整数表示

2.2.1 二进制表示整数

2.2.2 扩展、截断

2.3 整数运算

2.3.1 加减法与溢出 

2.3.2 逆元和补码的非

2.3.3乘法

2.4浮点数

2.4.1 IEEE规则

2.4.2例图


2.1 数据存储

2.1.1 进制

计算机中使用的进制无非涉及:二进制、十进制、十六进制

相互转换内容不做介绍,以下图片可以清晰表示

需要解释一下:上面图片的数都是符号表示的,其实他们对我们脑海里理解的那个数是一一对应的,这样就能理解了为什么要对这些数换来换去了。

2.1.2 数据在内存的存储方式---大小端

大端:高地址存储低位数据
小端:低地址存储低位数据

2.1.3 C语言的一些知识

32位:虚拟地址中,一块空间32位用来存储一个数据

64位:虚拟地址中,一块空间64位用来存储一个数据

注意:这里的32位和64位是针对计算机

而程序在生成可执行文件时,会出现32位或者64位的版本,这些程序的位是由编译的人觉得的。用64位的机器对32位64位程序都可以执行,而32位机器对64位文件不可执行。

数据基本类型:

二进制运算:

位运算:

 对于右移:如果数据是无符号则是逻辑右移,有符号则是算数左移

 逻辑判断:

!:非

&&:并且

||:或者

2.2 整数表示

2.2.1 二进制表示整数

无符号整型:

有符号整型(补码): 

 

最左边的一位,对于补码而言都当成负数 

无符号整型与补码之间的转换

1.通常情况下,整型会被转成补码,两者再进行运算;不过可以通过强制类型转换对补码进行转换。

2.二者的转换,对于机器中的存储数据不会改变,也就是说我们不会看到机器的二进制变掉,只是解释这个数据的方式变不同了而已。

2.2.2 扩展、截断

扩展:

无符号整型的扩展:只需在其前面添加0即可

补码扩展:观察最左边的数,扩展添加的数和最左边的数一致

截断:

无论是无符号整数还是其补码,在截断时的处理都是直接截取相对于的位数,不过对于补码而言,其读取方式依旧看最前面的数是0/1。

2.3 整数运算

针对加减法,其实与十进制的运算无异

需要注意的是:

1.在计算机中,一个数据的存储位数是有限的,因此不会出现无限的数,一切都已被规定

2.不断加减可能会出现溢出现象,因为计算机的存储单元有限

2.3.1 加减法与溢出 

溢出的情况

无符号整型:相加可能溢出,溢出后的数会小于原来两个

补码:相加相减会出现正溢出和负溢出

正溢出:两个正数相加溢出;判断结果是否为负数,是则溢出

负溢出:两个负数相加溢出;判断结果是否为正数,是则溢出

2.3.2 逆元和补码的非

逆元针对无符号整数,为讨论方便我们记一个数x,其逆元为y---满足:x+y=0

不过这里说明等于0的情况有两种:

1.0+0

2.一个数加另一个数溢出得0

补码的非

情况有三种:假设存储的最小数位-8

1.(-8)+(-8)溢出为0  --- 不同的存储单元的最小数自己相加得到的就是0,故最小数的非就是自己

2.(-4)+ 4 为 0 溢出 ---  正的加负的刚好为0,意义上好理解,但是其实是溢出变成的0

3. 0+0 为0

2.3.3乘法

简单讲,就是先两个数相乘,不管如何;得到结果后,嵌入到数据的位置上。考虑位数过大要截断,最后根据是无符号还是补码确定值。

乘2的幂 --- 乘多少个2,位运算往左移几位就是结果

除2的幂 --- 除多少个2,位运算往右移几位就是结果(补码是逻辑右移)

乘一个常数其实就是计算机会优化,变成位运算多少,加减多少

2.4浮点数

2.4.1 IEEE规则

根据上面的存储形式,其实我们不难发现浮点数的表达分为三部分:

正负符号(S),阶数(E),尾数(M)

三种形式:

1.规格化

S(符号):0为正,1为负

E(阶数):exp-Bias

M(尾数):1+f中的内容

(-1)^S *(1+M)* E

2.非规格化

S(符号):0为正,1为负

E(阶数):1-Bias

M(尾数):f中的内容

(-1)^S * M * E

2.4.2例图

k=3,n=2 ==> 格式为 0 000 00

1.非规格范围便是k位全是0,S代表正负,f中的内容全为1得到一个比0.2小一点的数,所有我们看b图可见非规格都在-0.2~0.2之间分布

2.规格最大k位为110,f的内容也全为1,得到最大 (0/1) 110 11;在-14~14之间

3.正负无穷

4.注意,0分为+0和-0,因为非规范数的符号可以表示正负,其他位为0

相关内容

热门资讯

清朝有很多有名的历史人物,能给... 清朝有很多有名的历史人物,能给大家说几个清朝的历史人物吗?林则徐,张之洞,乾隆皇帝,曾国藩,朱耷,这...
曹丕的“太子四友”指的是谁 曹丕的“太子四友”指的是谁首先说,曹丕这四个,陈群司马懿是顶级的谋士和政治家,吴质有些小聪明,朱铄不...
在这次遇难者中存在了几名幸存者... 在这次遇难者中存在了几名幸存者。这句话是不是逻辑错误这句话的逻辑没有问题,有问题的是用词不当。遇难者...
在中国古代,有许多充满哲学智慧... 在中国古代,有许多充满哲学智慧的成语典故、寓言故事,如...在中国古代,有许多充满哲学智慧的成语典故...
清澈的意思是什么,… 清澈的意思是什么,…清净而明澈清而透明【造句】看着他清澈而又天真的眼眸,我的心久久不能平静……
蚂蚁森林合种爱情树一方退出怎么... 蚂蚁森林合种爱情树一方退出怎么找回来两个人合种的爱情树,我退出来,我怎么再次加入进去继续合作那个树?...
有好看的古代修炼小说推荐吗? 有好看的古代修炼小说推荐吗?古代重生穿越修炼......让我帮你找一下这些古代修炼的小说,找到这些类...
女主重生爱上前世辜负的人 女主重生爱上前世辜负的人重生我是你正妻渣女重生之竹马重生之弃渣重生之夫君可欺重生之换我疼你重生妇归来...
华胥引有广播剧吗 华胥引有广播剧吗现有的华胥引的广播剧是忆语广播剧社出品的,只有十三月和杯(这个是错字,请无视,居然输...
选文韩麦尔先生在说了,我的朋友... 选文韩麦尔先生在说了,我的朋友们我就要离开你们呢了,再见了银头鲑鱼tj75rt6yturdrruv ...
中通快递从北京保定市到广东揭阳... 中通快递从北京保定市到广东揭阳普宁要多久?中通快递从北京保定市到广东揭阳普宁要多久?从北京到广东需要...
关于离婚悲伤的歌曲 关于离婚悲伤的歌曲关于离婚悲伤的歌曲林俊杰《可惜没如果》 张靓颖《我走以后》 金志文《流着泪说分手》...
形容文笔差怎么说啊? 形容文笔差怎么说啊?哥哥姐姐,麻烦问下,我是做文员的,形容文案方面的工作很差应该怎么说啊?粗鄙怎么样...
我想做未婚妈妈,可行吗? 我想做未婚妈妈,可行吗?没关系吧?我同学好多他们妈妈都是30岁以后省得他们,都没事啊,但是如果你自己...
如何在两个excel表格里筛选... 如何在两个excel表格里筛选出重复的名字如何在两个excel表格里筛选出重复的名字1、电脑打开EX...
且试天下 哪些小说是用白绫做武... 且试天下 哪些小说是用白绫做武器的?神雕侠侣吖- -..小龙女一开始就是用白绫的聊斋 辛十四娘嘿嘿~...
自带高冷体质,笑起来温暖又治愈... 自带高冷体质,笑起来温暖又治愈的星座,你了解吗?虽然天生高冷体质,但是笑起来特别的温暖治愈的新作用天...
火星未解之谜 火星未解之谜多列举一些,每个事例最好长一点,谢啦~“火星人脸”, “地表被水冲击河道”,“原始大气和...
我是1991年10月4号生的,... 我是1991年10月4号生的,是什么星座啊有的说是处女座有的说是天平座,糊涂了,到底是什么啊很负责任...
梦见白狐狸,然后当时我骑着自行... 梦见白狐狸,然后当时我骑着自行车,我想躲开它,他很凶的的追赶我,最后它向我扑了过来,然后我就醒乐.你...