瑞金网站建设/天津网站建设公司
数据的表示
- 计算机组成和体系结构,主要内容摘要
- 数据的表示
- 1. 进制之间的转换
- 二进制
- R进制转十进制 - 按权展开法
- 十进制转R进制 - 短除法
- 二进制和八进制和十六进制
- 二进制和十六进制的关系
- [2. 原码、反码、补码、移码](https://blog.csdn.net/SnailMann/article/details/94436918)
- 前提概念
- 机器数
- 真值和形式值
- 同余定理
- 模,互为补数,同余
- 原码-反码-补码-移码
- 数值关系
- 有什么作用
- 为何需要,为了解决什么问题?
- 取值范围
- 3. 浮点数
- 参考地址:
计算机组成和体系结构,主要内容摘要
- 数据的表示
- 计算机结构
- Flynn分类法
- CISC与RISC
- 流水线技术
- 存储系统
- 总线系统
- 可靠性
- 验证码
数据的表示
1. 进制之间的转换
二进制
210 = 1024
R进制转十进制 - 按权展开法
十进制转R进制 - 短除法
二进制和八进制和十六进制
二进制和十六进制的关系
二进制 | 十六进制 |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
2. 原码、反码、补码、移码
关于这部分内容想要理解还得看博客:https://blog.csdn.net/SnailMann/article/details/94436918
前提概念
机器数
一个数在"计算机"中的"二进制"表示形式, 叫做这个数的机器数。
真值和形式值
真值
当我们把机器数当做有符号位的二进制数值去计算,得到的值就是机器数真实所表示的值,称之为真值
形式值
当我们把机器数当做数学角度的没有符合位的二进制数去计算,得到的值只是一个纯数学角度的数值,并非机器数真实代表的值,称之为形式值
同余定理
模,互为补数,同余
原码-反码-补码-移码
数值关系
数值1 | 数值-1 | 数值关系 | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 首位是符号位,0为正,1为负 |
反码 | 0000 0001 | 1111 1110 | 正数的反码为本身;负数的反码为除符号位取反 |
补码 | 0000 0001 | 1111 1111 | 正数的补码为本身;负数的补码为反码+1 |
移码 | 1000 0001 | 0111 1111 | 移码为补码的首位取反 |
有什么作用
作用 | |
---|---|
原码 | 通过原码,我们可以快速的知道其对应的真值是什么,这就是需要原码的主要原因 |
反码 | 反码是一个中间值,既不能直接计算,也不能直接推断出真值;反码和补码比,没有解决正负0的问题 |
补码 | 1.补码是为了解决反码中遗留的正负0问题。为了不浪费宝贵的空间资源,负0的二进制表示1 0000000为人为认定是-128,扩展多一位的新内容。2.计算机最后采用的机器数存储方式就是补码方案,所以计算机中所有的二进制运算都是使用补码进行的。3.补码计算得到的结果也是补码,如果要想知道补码对应的机器数真值,需要把补码转换成原码,才能让人脑更好的识别 |
移码 |
为何需要,为了解决什么问题?
为何需要,为了解决什么问题? | |
---|---|
原码 | 原码就是计算机为了存储带符号的二进制数值而出现的机器数形式 |
反码 | 反码就是为了解决原码无法进行减法运算的问题,说白了就是为了解决与负数相加的问题 |
补码 | 补码就是为了解决反码遗留的正负0问题而出现的新机器数形式 |
移码 |
取值范围
正数 取值范围 | 小数的取值范围 | |
---|---|---|
原码 | -(2n-1 -1) ~ +(2n-1 -1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
反码 | -(2n-1 -1) ~ +(2n-1 -1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
补码 | - 2n-1 ~ +(2n-1 -1) | -1 ~ +(1-2-(n-1)) |
移码 | - 2n-1 ~ +(2n-1 -1) | -1 ~ +(1-2-(n-1)) |
Java 中 byte的取值范围 | |
---|---|
原码 | -127 ~ +127 |
反码 | -127 ~ +127 |
补码 | -128 ~ +127 |
移码 | -128 ~ +127 |
3. 浮点数
浮点数表示:
N = M * Re
M为尾数,R为基数,e是指数
计算过程:対阶–>尾数计算–>结果格式化
格式化结果例如:1.11 * 102 或者 2.2213 * 103 或者 3.21 * 104
小数点左边需要是一位。
参考地址:
【操作系统】一起了解操作系统咯 | 原码,反码,补码,你理解到位了吗?:https://blog.csdn.net/SnailMann/article/details/94436918
https://www.bilibili.com/video/BV1Qf4y1z7Eb?p=4