欣哥划的重点:

第二章比较难,建议至少掌握下面几个知识点: 1. 字节顺序 : 大端和小端 2. 运行 图2-24, 图2-25程序 show-bytes.c 观察结果,看看有什么问题 3. 理解布尔运算,位运算 4. 理解无符号数和有符号数, 给一个数,能计算出补码 5. 理解浮点数的表示法,给一个十进制小数,能转换成二进制的浮点数表示

由于第二章知识点很多,上班又比较忙,所以按欣哥划的重点来阅读。

本周看了 3 个点:

1、字节顺序:大端和小端

2、理解布尔运算,位运算

3、理解无符号数和有符号数,给一个数,能计算出补码

下面按点写笔记:

1、字节顺序:大端和小端

前提:

  对于跨越多字节地址的对象,在几乎所有的机器上,都会被存储为连续的字节序列,对象的地址为所使用的字节中最小的地址

先说大端和小端的定义

  小端法:最低有效字节在最前面的方式

  大端法:最高有效字节在最前面的方式

举例说明:

  对于数 0xA1FE,它在计算机中会被存储为连续的两个字节,当 A1 被存储在前时,即为大端表示法;当 FE 被存储在前时,即为小端表示法

  在这个例子中,A1 为最高有效字节,FE 为最低有效字节

注:

  现在我们假设有一个 w 位的二进制数,只要 w 大于 8,它就总能被表示为多个字节(即,从右到左,8 位结合为 1 字节,最后不够 8 位的部分,在左边用 0 补齐)

总结:

结合前提和定义,我们可以说,地址为最高有效字节的多字节对象使用的是大端法,反过来,地址为最低有效字节的多字节对象使用的是小端法

2、布尔运算,位运算

主要要记住 4 个运算符的意义,对相应的规则整理如下

3、理解无符号数和有符号数,给一个数,能计算出补码

无符号数:所有的位都表示数值

有符号数:第一位是符号位(0 为正,1 为负),其余都表示数值

补码计算实例:

负数 6 的原码为 1000 0110

其反码为 1111 1001

其补码为 1111 1010

补充一下原码、反码和补码的概念:

原码

  就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值

反码:

  正数的反码是其本身

  负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

补码:

  正数的补码就是其本身

  负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

希望在下周的阅读中,能解决以下问题:

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

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

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

    <深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 22 ~ 28 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...

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

    <深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 29 ~ 34 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...

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

      上一周遗留问题的解决 问题:原码.反码.补码是只针对有符号数吗?无符号数有没有这三种编码方式? 得到的答案:对于无符号数,原码.反码和补码是一致的 进一步,由于有符号数是以补码的形式存储在计算机中 ...

  4. CSAPP深入理解计算机系统(第二版)第三章家庭作业答案

    <深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...

  5. 深入理解Magento – 第二章 – Magento请求分发与控制器

    深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第二章 – Magento请求分发与控制器 Model-View-Controller (MVC) ,模型-视图- ...

  6. 深入理解计算机系统 第九章 虚拟内存 Part1 第二遍

    这次花了4小时40分钟,看了第 559~575 页,共 17 页 第一遍对应地址 https://www.cnblogs.com/stone94/p/10264044.html 注意:本章的练习题一定 ...

  7. [CSAPP笔记][第二章信息的表示和处理]

    信息的表示和处理 2.1 信息存储 机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器. 存储器的每个字节由一个唯一的数字表示,称为它的地址 所有可能地址的集合称为虚拟地址空间 2.1.1 十 ...

  8. 深入理解计算机系统第二版习题解答CSAPP 2.20

    T2Uw(w)=x, x≥0时 T2Uw(w)=x+2w, x<0时 利用上面的公式,重新计算2.19的问题.

  9. 深入理解计算机系统第二版习题解答CSAPP 2.19

    在2.17的基础上完成下表: x 十六进制 T2U(x) -8 0x8 -3 0xD -2 0xE -1 0xF 0 0x0 5 0x5

随机推荐

  1. 树莓派(4B)Linux + .Net Core嵌入式-HelloWorld(二)

    一.新建.Net Core项目 新建.Net Core3.0的控制台应用,代码如下 namespace Demo { class Program { static void Main(string[] ...

  2. VMware虚拟机的三种网络管理模式

      VMware提供了三种网络工作模式:Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式). 打开VM虚拟机,在选项栏“编辑”->“虚拟网络编辑器”中看到V ...

  3. [NOIp2014] luogu P2312 解方程

    题目描述 已知方程∑i=0naixi=0\sum_{i=0}^{n}{a_ix^i}=0i=0∑n​ai​xi=0求该方程在 [1,m][1,m][1,m] 内的整数解. Solution 有一个秦九 ...

  4. [BZOJ1076] 奖励关

    Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的 ...

  5. 原生无缝Banner轮播图

    话不多说,先展示效果图.由于录制工具,稍显卡顿,实际是流畅的.可以看到实现了无缝轮播,鼠标悬停,点击左右上下按钮切换Banner的功能,如图1所示. 图1 原生无缝banner效果展示 以我这个轮播图 ...

  6. Python开发【第十篇】集合

    集合的运算 & 交集 | 并集 - 补集 ^ 对称补集 < 子集 > 超集 例子: 生成两个集合的并集 s1 = {1,2,3} s2 = {2,3,4} s3 = s1|s2 # ...

  7. 【Labview入门】子VI的调用

    labview版本:Labview2015 Labview里面也可以向C语言等变成语言一样调用子程序,本文带你一步一步实现子VI的创建与调用. 第一步 写好程序 首先我们写个简单的加法程序: 我们的目 ...

  8. 《HelloGitHub》第 43 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  9. SpringBoot学习(二)探究Springboot启动机制

    引言: SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏.所以这次博主就跟你们一起探究一下SpringBoot的启动原 ...

  10. ESP8266 打造一款物联网产品---搭建环境编译及烧录

    一 前记 作为一个在wifi领域耕耘了多年的人,以前一直在外企和大公司做芯片,没有怎么使用过国内的芯片公司做出来的芯片.最近正好有一个项目需要用到一款低成本的wifi芯片,找来找去,发现乐鑫的最适合. ...