信息的表示与处理 (深入理解计算机系统第二章)(上)

简介: 信息的表示与处理 (深入理解计算机系统第二章)(上)

刚学习这本书没多久,感觉里面讲的东西挺多的,前后的关联性比较强。学着后面的还需要看看前的才可以更好的理解。


2.1信息存储


无符号(unsigned) 编码是基于传统的二进制表示法的,表示大于或者等于零的数字。


二进制补码(two's-complement)编码是表示有符号整数的最常见的方式,

有符号整数就是为正或者为负的数字。


浮点数(floating-point) 编码是表示实数的科学记数法的以二为基数的版本。计算机用这些不同的表示方法实现算术运算,例如加法和乘法,类似于相应的整数和实数运算。

计算机的表示法用有限的位数来对一个数字编码,因此,当结果太大以至不能表示时,某些运算就会溢出(overflow)。 这会导致某些令人吃惊的后果。例如,在大多数今天的计算机上,计算表达式200*300*400*500会得出-884901 888。这违背了整数运算的属性一计算-组正数的乘积产生了一个为负的结果。


大多数计算机使用8位的块,或叫做字节(byte), 来作为最小的可寻址的存储器单位,而不是

访问存储器中单独的位。机器级程序将存储器视为-一个非常大的字节数组,称为虚拟存储器(virtualmemory)。存储器的每个字节都由-一个惟-的数字来标识,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间( virtual address space)。正如它的名字表明的,这个虚拟地址空间只是一个展现给机器级程序的概念性映像(image)。实际的实现(见第10章)使用的是随机访问存储器RAM、磁盘存储、特殊硬件和操作系统软件的结合,来为程序提供-一个看上去统一的字节数组。  


大端法小端法

0c7e5a4c01c9488599da5b3fb83d68cb.png

加一个12345的二进制转化与16进制转换


12345的二进制表示是:

11000000111001

转换步骤:

1. 12345 ÷ 2 = 6172...1  

2. 6172 ÷ 2 = 3086...0

3. 3086 ÷ 2 = 1543...0

4. 1543 ÷ 2 = 771....1

5. 771 ÷ 2 = 385....1  

6. 385 ÷ 2 = 192....1

7. 192 ÷ 2 = 96.....0

8. 96 ÷ 2 = 48.....0

9. 48 ÷ 2 = 24.....0

10. 24 ÷ 2 = 12.....0

11. 12 ÷ 2 = 6.......0

12. 6 ÷ 2 = 3.......0

13. 3 ÷ 2 = 1.......1

14. 1 ÷ 2 = 0.......1

所以12345的二进制表示是11000000111001。


12345的十六进制表示是:

3039

转换步骤:

1. 12345 分解成12345 = (1 * 16^3) + (2 * 16^2) + (3 * 16^1) + (9 * 16^0)

2. 1 * 16^3 = 4096   (1 -> 十六进制数字1)

3. 2 * 16^2 = 512    (2 -> 十六进制数字2)

4. 3 * 16^1 = 48     (3 -> 十六进制数字3)

5. 9 * 16^0 = 9      (9 -> 十六进制数字9)

3. 将每个部分的十六进制数字组合:

  4096 -> 1000

  512 -> 0200

   48 -> 0030

    9 -> 0009

4. 合并每个部分的十六进制数字:

  1000 0200 0030 0009

5. 去掉前导0,得到十六进制数:

  3039

所以,12345的十六进制表示是3039。


像Sum关于12345 最低有效位 39,先输出为小段法的机器如Linux NT,但是像sum是最后输出30就是大端法的机器。

目录
相关文章
|
6月前
|
存储 编解码 并行计算
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
112 0
|
存储 C语言 数据格式
计算机组成原理(微课版) -- 第二章 –– 数据信息的表示
计算机组成原理(微课版) -- 第二章 –– 数据信息的表示
|
3月前
|
存储 安全 编译器
计算机系统第三章程序的机械级表示笔记(1)
这篇文章是关于计算机系统第三章“程序的机械级表示”的笔记,解释了计算机如何执行机器代码,编译器如何生成机器代码,以及理解机器代码对于程序员在优化代码、分析程序运行时行为和安全性方面的重要意义。
|
5月前
|
存储 自动驾驶 数据挖掘
计算机的设计原理
计算机的设计原理
77 0
信息的表示与处理 (深入理解计算机系统第二章)(下)
信息的表示与处理 (深入理解计算机系统第二章)(下)
75 0
第一章 作业(479)【计算机系统结构】
第一章 作业(479)【计算机系统结构】
132 0
|
索引
第五章 作业(149A)【计算机系统结构】
第五章 作业(149A)【计算机系统结构】
244 0
|
人工智能 编解码 网络协议
计算机实验基础要点
第一台计算机ENIAC 1946年 计算机发展:电子管计算机,晶体管计算机,集成电路计算机,大规模集成电路计算机 计算机分类:超级计算机,大型计算机,小型计算机,微型计算机,嵌入式计算机, 计算机特点:速度快,精度高,存储容量大,具有逻辑判断能力,自动化程度高,可与通信网络互联 计算机应用:1科学计算2数据处理3辅助技术4过程控制5人工智能 计算机系统组成:1硬件2指令3程序4软件
91 0
|
存储 固态存储 芯片
【计算机追本溯源】「底层原理系列」 回归与本质,让本文带你认识什么是计算机软件系统(1)
【计算机追本溯源】「底层原理系列」 回归与本质,让本文带你认识什么是计算机软件系统(1)
186 0
【计算机追本溯源】「底层原理系列」 回归与本质,让本文带你认识什么是计算机软件系统(1)
|
Windows
(1)计算机的基础
(1)计算机的基础
109 0

相关实验场景

更多