博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入理解计算机系统(CSAPP) 第二章学习笔记
阅读量:2352 次
发布时间:2019-05-10

本文共 1414 字,大约阅读时间需要 4 分钟。

文章目录

1.信息存储

大多数计算机使用8位的块(字节),作为最小的可寻址的存储单位。存储器中所有可能地址的集合称为虚拟地址空间(virtual address space),是一个概念性映像。实际的实现是将随机访问存储器系统软件结合起来,为程序提供一个看上去统一的字节数组

字长:指明整数和指针数据的标称大小,决定虚拟地址空间的最大大小(即最大表示范围)。对于一个w位的机器,虚拟地址的范围为0~2w-1 ,程序最多访问2w 个字节

在这里插入图片描述
寻址和字节顺序:最低有效字节在最前面为小端法,反之大端法。双端法则可以自由配置成小端或大端。当进行网络应用编程时需遵守字节顺序的规则,以防止接收端字节反序。

位移运算:逻辑右移,在左端补k个0;算术右移,在左端补k个最高有效位的值。

2.整数表示

补码(two’s-complement)编码

B 2 T w ( x ⃗ ) = − x w − 1 2 w − 1 + ∑ i = 0 w − 2 x i 2 i B2T_{w}(\vec x) = -x_{w-1}2^{w-1} + \sum_{i=0}^{w-2}x_{i}2^{i} B2Tw(x )=xw12w1+i=0w2xi2i
以最高位 2 w − 1 2^{w-1} 2w1为周期,计满一个周期则回到原始状态,类似时钟。有个写的清楚,记录一下。
w位补码的表达范围[100…0]~[011…1],即 − 2 w − 1 -2^{w-1} 2w1 2 w − 1 − 1 2^{w-1}-1 2w11

有符号数和无符号数之间的转换

将符号数强制类型转换为无符号数只改变数值,不改变位表示。
U 2 T w ( x ) = B 2 T w ( U 2 B w ( x ) ) = { x , x < 2 w − 1 x − 2 w , x ≥ 2 w − 1   T 2 U w ( x ) = B 2 U w ( T 2 B w ( x ) ) = { x + 2 w , x < 0 x , x ≥ 0 U2T_{w}(x) = B2T_{w}(U2B_{w}(x)) = \begin{cases} \mathcal x, &\mathcal x<2^{w-1}\\ \mathcal x-2^{w}, &\mathcal x \ge 2^{w-1} \end{cases}\\ ~\\ T2U_{w}(x) = B2U_{w}(T2B_{w}(x))= \begin{cases} \mathcal x+2^{w}, &\mathcal x<0\\ \mathcal x, &\mathcal x \ge 0 \end{cases} U2Tw(x)=B2Tw(U2Bw(x))={
x,x2w,x<2w1x2w1
 T2Uw(x)=B2Uw(T2Bw(x))={
x+2w,x,x<0x0

扩展一个数字的位表示

扩展无符号数:零扩展(zero extension),开头加0
扩展补码数字:符号扩展(sign extension),添加最高有效位的值的副本

建议:不要用无符号数!

3.整数运算


2019.3.24创建:1-2节,一直以来对于位运算相关的东西都晕得很@A@

2019.3.26:感觉后面的东西暂时用不着,等以后用到了再补吧

转载地址:http://myqvb.baihongyu.com/

你可能感兴趣的文章
myeclipse 红色叹号的原因
查看>>
前端那些事儿——中文乱码,网页中文乱码,网页乱码,块元素,内联元素
查看>>
XML与HTML区别,XML解析
查看>>
http请求(get 和 post 请求)与响应
查看>>
jsp、el、jstl——前端面试
查看>>
java IO流
查看>>
Column count doesn't match value count at row 1
查看>>
页面优化——js异步加载
查看>>
CSS3渐变
查看>>
CSS实现居中的7种方法
查看>>
Charles拦截不到请求
查看>>
gitlab/github 多账户下设置 ssh keys
查看>>
Mac版 charles安装与破解
查看>>
keydown、keypress、keyup的使用
查看>>
区块链是否做好了迎接法币的准备?为什么银行如此看好加密货币?
查看>>
加密货币--Cryptocurrency
查看>>
Myeclipse的不足之一,struts 配置 action
查看>>
input /button链接方法
查看>>
CSS,font-family,好看,常用,中文,字体(更新中)
查看>>
Redis---基础知识:数据类型、持久化机制、虚拟内存、高级特性、应用场景
查看>>