计算机进制间的转换

 ̄綄美尐妖づ 提交于 2020-03-12 13:33:54

进制的转换

二进制

指二进制计数系统,基于2的幂,用数字"0 和 1"表示。

逢2进一
二进制数第一位上的1 相当于十进制第一位上的1
二进制数第二位上的1 相当于十进制第二位上的2
二进制数第三位上的1 相当于十进制第三位上的4
二进制数第四位上的1 相当于十进制第四位上的8
二进制数第五位上的1 相当于十进制第五位上的16
····
二进制数: 1011
1*2^3 + 0*2^2 + 1*2^1 + 1\2^0 = 11(十进制)

八进制(octal)

指八进制计数系统,基于8的幂,用数字"0~7"表示。

逢8进一
八进制数第一位上的1 相当于十进制第一位上的1
八进制数第二位上的1 相当于十进制第二位上的8
八进制数第三位上的1 相当于十进制第三位上的64
八进制数第四位上的1 相当于十进制第四位上的512

八进制数:451
4*8^2 + 5*8^1 +1*8^0 = 297(十进制)

八进制转换二进制

每个八进制位会对应3个二进制位,如下表:

八进制 等价的二进制 八进制 等价的二进制
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111

例如:八进制数 166 的二进制数位 1 110 110

八进制 166 中的 1、6、6 分别对应二进制数 001、110、110

注意:在将八进制转化为二进制后,二进制中的 0 不能省略。

十六进制(hex)

指十六进制计数系统,基于16的幂,用数字"0~9"以及大写字母"A~F"(A~F表示数字10~15)表示。

逢16进一

十六进制数:0xA9F6
10*16^3 + 9*16^2 + 15*16^1 + 6*16^0 = 43510(十进制)

十六进制转换成二进制

每个十六进制位都对应一个4个二进制位,两个十六进制数刚好对应8位字节,如下表:

十进制 十六进制 等价二进制 十进制 十六进制 等价二进制
0 0 0000 8 8 1000
1 1 0001 9 9 1001
2 2 0010 10 A 1010
3 3 0011 11 B 1011
4 4 0100 12 C 1100
5 5 0101 13 D 1101
6 6 0110 14 E 1110
7 7 0111 15 F 1111

十六进制数 0xA9 可转换成二进制数: 1010 1001,同理二进制数 0111 1111 可转换十六进制数: 0x7F

计算机是处理信息的机器

输入数据-->处理数据-->输出数据-->(长期存储数据)

在内存中存储数据的基本方法

变量:在内存中一块被命名的内存空间

int x;                //向系统申请一块内存空间,用于存储整型值,用名称x映射到这块空间。如果在声明变量的时候没有赋初值,则变量的值是不确定的一个值。
float f = 1 / 3.0;    //表达式的结果类型,取表达式中所有元素的最高级别(精度最高,范围最大)的数据类型
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!