全球旧事资料 分类
很完整的2、8、10、16进制转换方法r
最近在研究C语言,因为要用到各进制间转换,所以收集了一些资料…r
r
这是一节“前不着村后不着店”的课。不同进制之间的转换纯粹是数学上的计算。不过,你不必担心会有么复杂,无非是乘或除的计算。r
r
生活中其实很多地方的计数方法都多少有点不同进制的影子。r
r
比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。r
r
至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。r
r
生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度……r
r
r
我们找到问号字符(的ASCII值是63,那么我们可以把它转换为八进值:77,然后用‘77′来表示’。由于是八进制,所以本应写成‘077′,但因为CC规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。r
r
事实上我们很少在实际编程中非要用转义符加八进制数来表示一个字符,所以,624小节的内容,大家仅仅了解就行。r
r
625十六进制数转换成十进制数r
r
2进制,用两个阿拉伯数字:0、1;r
r
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;r
r
10进制,用十个阿拉伯数字:0到9;r
r
16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?r
r
16进制就是逢16进1,但我们只有09这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。r
r
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……r
r
所以,在第N(N从0开始)位上,如果是是数X(X大于等于0,并且X小于等于15,即:F)表示的大小为X16的N次方。r
r
假设有一个十六进数2AF5那么如何换算成10进制呢?r
r
用竖式计算:r
r
2AF5换算成10进制r
r
第0位:51605r
r
第1位:F161240r
r
第2位:A1622560r
r
第3位:21638192+r
r
r
r
10997r
r
直接计算就是:r
r
5160F161A162216310997r
r
别忘了,在上面的计算中,A表示10,而F表示15r
r
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。r
r
假设有人问你,十进数1234为什么是一千二百三十四?你尽可以给他这么一个算式:r
r
12341103210231014100r
r
626十六进制数的表达方法r
r
如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,r
好听全球资料 返回顶部