二进制、八进制、十六进制等进制的转换非常简单,例如8位的二进制数“10110101”,写成十六进制时,从右向左按4位一组分为“1011,0101”,用十六进制表示为“B5”;写成八进制时,从右向左按3位一组分为“10,110,101”,用八进制表示为“265”;要将二进制数换算为十进制数,则计算要复杂很多,最通用的方法可采用权重累加法,从最右边一位开始计算:

第1位(bit0)为1时,权重为1 ,(即20),否则为0; 第2位(bit1)为1时,权重为2 ,(即21),否则为0; 第3位(bit2)为1时,权重为4 ,(即22),否则为0; 第4位(bit3)为1时,权重为8 ,(即23),否则为0; 第5位(bit4)为1时,权重为16,(即24),否则为0; 第6位(bit5)为1时,权重为32 ,(即25),否则为0; 第7位(bit6)为1时,权重为64 ,(即26),否则为0; 第8位(bit7)为1时,权重为128 ,(即27),否则为0;

    对于本例子中,将“10110101”转换为十进制数即为(128+0+32+16+0+4+0+1)=181。对于16bit转换为十进制,如本例中的“B5”,也采用十六进制的权重累加法,从最右边一位开始计算:

第1位HEX数的权重为1 ,(即160),即该位的实际值×1; 第2位HEX数的权重为16 ,(即161),即该位的实际值×16; 第3位HEX数的权重为256 ,(即162),即该位的实际值×256; 第4位HEX数的权重为4096 ,(即163),即该位的实际值×4096;

    对于本例子中,将“B5”转换为十进制数即为(B×16+5×1)=(11×16+5)=181。读者熟悉了HEX转换为十进制的方法,可先将二进制或八进制划分为十六进制(每4bit一组),然后再作十进制转换,计算比较简捷。

    手动进行数据进制转换比较麻烦,我们一般使用电脑上的计算器工具进行数据进制的转换。

win+R,然后输入calc

然后点击菜单栏,选择程序员模式

然后在下图中,可以选择相应的数据类型。

这个计算器功能相当方便了,大家一定会经常用到的。

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2019-03-23 21:08:42

results matching ""

    No results matching ""