深入理解计算机系统 第二章 信息的表示和处理 part1
欣哥划的重点:
第二章比较难,建议至少掌握下面几个知识点: 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的更多相关文章
- 深入理解计算机系统 第二章 信息的表示和处理 Part1 第二遍
<深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 22 ~ 28 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...
- 深入理解计算机系统 第二章 信息的表示和处理 Part2 第二遍
<深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 29 ~ 34 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...
- 深入理解计算机系统 第二章 信息的表示和处理 part2
上一周遗留问题的解决 问题:原码.反码.补码是只针对有符号数吗?无符号数有没有这三种编码方式? 得到的答案:对于无符号数,原码.反码和补码是一致的 进一步,由于有符号数是以补码的形式存储在计算机中 ...
- CSAPP深入理解计算机系统(第二版)第三章家庭作业答案
<深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...
- 深入理解Magento – 第二章 – Magento请求分发与控制器
深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第二章 – Magento请求分发与控制器 Model-View-Controller (MVC) ,模型-视图- ...
- 深入理解计算机系统 第九章 虚拟内存 Part1 第二遍
这次花了4小时40分钟,看了第 559~575 页,共 17 页 第一遍对应地址 https://www.cnblogs.com/stone94/p/10264044.html 注意:本章的练习题一定 ...
- [CSAPP笔记][第二章信息的表示和处理]
信息的表示和处理 2.1 信息存储 机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器. 存储器的每个字节由一个唯一的数字表示,称为它的地址 所有可能地址的集合称为虚拟地址空间 2.1.1 十 ...
- 深入理解计算机系统第二版习题解答CSAPP 2.20
T2Uw(w)=x, x≥0时 T2Uw(w)=x+2w, x<0时 利用上面的公式,重新计算2.19的问题.
- 深入理解计算机系统第二版习题解答CSAPP 2.19
在2.17的基础上完成下表: x 十六进制 T2U(x) -8 0x8 -3 0xD -2 0xE -1 0xF 0 0x0 5 0x5
随机推荐
- django-drf框架自带的路由以及最简化的视图
0910自我总结 django-drf框架自带的路由以及最简化的视图 路由 一.导入模块 from rest_framework.routers import SimpleRouter 二.初始化路由 ...
- Python多线程多进程那些事儿看这篇就够了~~
自己以前也写过多线程,发现都是零零碎碎,这篇写写详细点,填一下GIL和Python多线程多进程的坑~ 总结下GIL的坑和python多线程多进程分别应用场景(IO密集.计算密集)以及具体实现的代码模块 ...
- vue3.0 + ueditor
公司有个需求,需要做个发送邮件的模版(富文本对于模版的扩展性更好吧) 关于富文本,也找了一些好看且支持vue的,但是功能都没有百度全面 反正这个系统也是自己人用,颜值无所谓了 关于vue2.0+ued ...
- .NETCore下CI/CD之自动化测试
前言 为了呼应<中国.NET开发者峰会2019上海站>,作为演讲嘉宾,我希望和各位同行建立更多的互动,为此,我特地将部分演讲内容,整理成文章先行发布.本文从零开始,一步一步的引导,从安装J ...
- UnityWebRequest_ZT
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using U ...
- Scrapy 之如何发送post请求
import scrapy import json class PostSpider(scrapy.Spider): name = 'post' # allowed_domains = ['www.x ...
- MacOS 系统 文件夹解析
Mac OS X,基于UNIX核心的系统,增强了系统的稳定性.性能以及响应能力. 通过对称多处理技术充分发挥双处理器的优势,提供无与伦比的2D.3D和多媒体图形性能以及广泛的字体支持和集成的PDA功能 ...
- 如何用好redis pipeline
编者注:pipeline是Redis的一个提高吞吐量的机制,适用于多key读写场景,比如同时读取多个key的value,或者更新多个key的value.工作过程中发现挺多小伙伴都对pipeline多少 ...
- 使用Selenium爬取淘宝商品
import pymongo from selenium import webdriver from selenium.common.exceptions import TimeoutExceptio ...
- SpringBoot中在除Controller层 使用Validation的方式
说明:Validation 在Controller层使用Validation应该都使用过了,以下方式可以使用 Validation 在Service层完成对dto的属性校验,避免写一堆的 if els ...