第一章 十六进制计数法
16进制计算方法
16进制和10进制是不同的,进制是人们规定的的,不是一种自然现象,我们只用0-9表示所有数字,那么大于九的怎么表示呢?我们就规定大于9的就进位,高一位的总是比低一位的大,这样我们可以重复使用0-9这10个数字符号表示所有的数字了,这个就是10进制,然而出于某些原因,我们的网络封包不是10进制,而是16进制,与10进制不同,16进制可以用一个符号表示10,就是A,用B表示11,C表示12,一直到用F表示15,那么怎么将16进制转换为我们熟悉的十进制呢?例如如下的一个16进制
F2E93(16)
其中括号内16表示前面这个是16进制,
我们是这样转化的:
F=15,2=2,E=14,9=9,3=3
所以:
图片说明
二进制转十进制:
二进制第0位的权值是2的0次方,第1位的权值是2的1次方... ...
所以,设有一个二进制数:101100100,转换为十进制位356:
图片说明
八进制转十进制:
八进制数采用0~7这八位来表达一个数。
八进制数第0位的权值为8的0次方,第一位权值为8的1次方,第2位权值位8的2次方... ...
所以设有一个八进制数1507,转换为十进制数839:
图片说明
十六进制转十进制:
同上,假设有一个十六进制数2AF5:
图片说明
十六进制转二进制:
如二进制数1100 0011,从右往左每四位做一组,每组分别转换成对应的十六进制数,就得到C3。