首页 > 其他分享 >深入理解计算机系统 笔记——第二章

深入理解计算机系统 笔记——第二章

时间:2023-07-12 16:24:55浏览次数:57  
标签:计算机系统 0111 0011 十六进制 二进制 笔记 第二章 十进制 1000

第二章 信息的表示和处理

三种重要的数字表示

  • 无符号(unsigned),基于传统的二进制表示法,表示大于等于零的数字
  • 补码(two's complement),表示有符号整数的最常见的方法
  • 浮点数(floating point),表示实数的科学计数法的以2为基数的版本

整数的表示虽然只能编码一个相对较小的数值范围,但是这种表示是精确的;而浮点数虽然能够编码一个较大的数值范围,但是这种表示只是近似的。

建议

程序员应该具有对计算机运算与整数和实数运算之间的关系有清晰理解。
大量的计算机安全漏洞往往都是从计算机算术运算的细节出发的,我们需要去了解程序的底层工作原理以及计算机是如何产生不良的行为的。

2.1 信息存储

指针存在两个方面:值和类型。值表示某个对象的位置,类型表示对应位置上存储对象的类型。

十六进制表示法

练习题2.1

完成下面的数字转换
A. 将0x39A7F8转换为二进制。
B.将二进制1100 1001 0111 1011转换为十六进制。
C.将0xD5E4C转换为二进制
D.将二进制10 0110 1110 0111 1011 0101转换为十六进制。

解析

A. 0011 1001 1010 0111 1111 1000
B. 0xC97B
C. 1101 0101 1110 0100 1100
D. 2 6 E 7 B 5

练习题2.2

填写下表中的空白项,给出2的不同次幂的二进制和十六进制表示:
n 2n(十进制) 2n(十六进制)
9 512 0x200
19
16 384
0x10000
17
32
0x80

解析

n 2n(十进制) 2n(十六进制)
9 512 0x200
19 524 288 0x80000
14 16 384 0x4000
16 65 536 0x10000
17 131 072 0x20000
5 32 0x20
7 128 0x80

练习题2.3

一个字节可以用两个十六进制数字来表示。填写下表中缺失的项,给出不同字节模式的十进制、二进制和十六进制
十进制 二进制 十六进制
0 0000 0000 0x00
167
62
188
0011 0111
1000 1000
1111 0011
0x52
0xAC
0xE7

解析

十进制 二进制 十六进制
0 0000 0000 0x00
167 1010 0111 0xA7
62 0011 1110 0x3E
188 1011 1100 0xBC
55 0011 0111 0x37
136 1000 1000 0x88
243 1111 0011 0xF3
82 0101 0010 0x52
172 1010 1100 0xAC
231 1110 0111 0xE7

练习题2.4

不将数字转换为十进制或者二进制,试着解答下面的算术题,答案要用十六进制表示。
提示:只要将执行十进制加法和减法所使用的方法改成以16为基数。
A. 0x503c+0x8=
B. 0x503c-0x40=
C. 0x503c+64=
D. 0x50ea-0x503c=

解析

A. 0x5044
B. 0x4ffc
C. 0x507c
D. 0xae

字数据大小

标签:计算机系统,0111,0011,十六进制,二进制,笔记,第二章,十进制,1000
From: https://www.cnblogs.com/aaroncoding/p/17547781.html

相关文章

  • [刷题笔记] Luogu P3183 食物链
    ProblemDescription通俗一点就是在一张图上求入度为0的点到出度为0的点路径的个数。Solution简要题意后发现可以拓扑排序?这里主要介绍记忆化搜索。记忆化搜索是指记住当前节点的状态,待下次搜到这里直接调用即可,无需继续搜索。显然由记忆化搜索延伸到dp,但如果状态设计很复杂......
  • Linux 软件包管理 笔记
    Linux软件包管理: rmp命令:rmp-q软件名#查询是都安装此软件rpm-pl软件名#查询软件安装位置rpm-ivh软件名-版本信息#安装软件包,安装时需要提供......
  • 笔记-Kruskal重构树(一)
    U12讲笔记树链点权最值问题暴力:对于随机数据,单次查询平均复杂度\(O(\logn)\)目标:对于最差情况,单次查询复杂度\(O(\logn)\)倍增(\(\rmbinary\;lifting\)):预处理ST表(稀疏表),\(\rmp[u][i]\)代表\(u\)的第\(2^i\)个祖先,\(\rmst[u][i]\)代表从\(u\)开始往上爬......
  • 吴恩达《LangChain for LLM Application Development》课程笔记
    1.前言LangChain是一个用来构建LLM应用的开源框架,主要是为基于大语言模型的应用提供一系列的构建工具包。这个短课程的主要内容有:模型、提示和解析器:调用LLM,提供提示并解析响应。LLM的记忆:用于存储对话和管理有限上下文空间的记忆。链式操作:创建操作序列。文档问答:将LLM应用于您......
  • 4Git学习笔记
    一、Sourcetree1.使用SourceTree之前必须要先安装Git和sourceTree(gitee免费版最多可5个成员)。2.加入代码仓,需申请邀请链接。3.加入代码仓,成为的的项目开发成员之后,首先将该远程仓clone(克隆)到自己本地,作为自己的本地仓,“5-27-dq”这个仓库有两个分支,选着dev开发分支进行远程提交......
  • 5python学习笔记
    1.python特点​Python具有代码简单、学习难度低、语法清楚、功能库丰富等优势,同样功能的代码,Python代码数量只有C或Java的1/5,甚至1/10。例:打印HelloWorld,C语言需要6行,Java需要5行,Python只需要1行。2.python相关概念第三方库:需要自行安装的库python解释器:将源代码翻译......
  • 树状数组学习笔记与总结
    树状数组学习笔记与总结目录树状数组OIWiki信息学奥赛一本通例题单点修改,区间查询区间修改,单点查询区间修改,区间查询树状数组OIWikiOIWiki-树状数组信息学奥赛一本通例题单点修改,区间查询LibreOJ树状数组1:单点修改,区间查询我的代码点击查看代码#include<......
  • python学习笔记:继承与超类
    与java类似,继承的出现是为了提高代码的重复利用率,避免多次输入同样的代码。而超类就是java中的父类。1.继承要指定超类,可在定义类时,在class语句中的类名后加上超类名基类就是超类,派生类就是子类格式classDog:# passclassBobo(Dog):#Dog类的子类 pass子类会......
  • JS-Forward 学习笔记
    什么是JS-Forward?不了解的同学,可以先看看JS-Forward的Github仓库介绍,https://github.com/G-Security-Team/JS-ForwardJS-Forward是一款可以配合类似BurpSuite等抓包软件的脚本,脚本的功能是可以将js里面的参数通过Http请求将参数发送出来,在外部进行修改,最后将修改后的返回值再......
  • 组合数学 笔记
    组合数学笔寄加法原理完成一个事情有\(n\)类做法,第\(i\)类做法又分为\(a_i\)种。所以这件事情有\(S=\sum_{i=1}^{n}a_i\)的不同的完成方法。乘法原理草字头有\(3\)种写法,回字有\(4\)种写法,所以茴香豆的茴有\(S=3\times4\)种写法。同样,一件事情有\(n\)个步......