十六进制表示形式 十六进制表示字母

十六进制是计算机中最常见的一种数制表示 ***,每个数位可以表示0-15之间的数字 。但是十六进制也可以用来表示字母,因为它使用了0-9和A-F这16个字符 。其中,A表示10,B表示11,依次类推,直到F表示15 。因此,字母A可以表示为16进制数字41,B为42,C为43,依此类推,直到字母Z表示为5A 。利用十六进制表示字母,可以在计算机中简单地进行编码和解码,方便地处理文本和数据 。
平常我们在上C语言课时,进制数有二进制,八进制,十进制,十六进制,但这里我们为什么不讲八进制,因为在平时的工作中,几乎不会用八进制 。
十进制:我们平时使用的数都是由0~9共十个数字组成的 。例如1,9,11,231,2349等等数,一个数字最多只能表示到9,如果要表示大于9的数,就要由0~9这十个数字组成 。例如我们5+9的结果,用一个数字来表示它的结果,是不够的,只能“进位”,用14来表示;也就是满十进一 。这些数都是十进制,所谓十进制就是由0~9个数字组成的数,逢十进一(满十进一) 。
二进制:我们不妨将思维拓展一下,十进制是逢十进一,那么二进制就是逢二进一,也就二进制的数不能出现大于2 。例如,数字 0、1、10、111、100、1000001 都是有效的二进制 。在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础 。
【十六进制表示形式 十六进制表示字母】二进制加减法和十进制加减法的思想是类似的:
· 对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;
· 对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二 。
下面两张示意图详细演示了二进制加减法的运算过程 。
1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110
图1:二进制加法示意图




2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101
图2:二进制减法示意图



二进制在平常工作的使用的地方,如需要按位与或取反地方,一个数只取高多少位,或只取低多少位,然后变成什么数;都需要二进制的转换 。
Eg:
If(val>>4==0)
{
Do some thing;
}
Else if(val<<3==0)
{
Do some thing;
}else
{
Do other thing;
}
首先得把把val值 换成二进制,然后再右移或左移 。注:二进制是目前几乎所有以数字电路为基础的计算设备的内部处理数字的基础进制(它位只有0与1) 。
十六进制除了二进制,十六进制也经常使用,甚至比二进制还要频繁 。
十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16 。例如,数字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六进制 。
注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef 。
下面两张图详细演示了十六进制加减法的运算过程 。

1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11
图5:十六进制加法示意图
2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF
图6:十六进制减法示意图



那么十六进制数在我们工作中,一般用在哪里呢 。除了数字电路中用二进制来表示(我们能看得到的 。如1100,001000这样的表示的数)外,平常说的二进制保存文件,数据以二进制在串口或网串中传输,它们都是用十六进制来显示的 。因为十六进制恰好是2的4倍,表示一个字节的时候仅仅需要2个十六进制数就可以表示出来,因此多数用2个十六进制来表示一个字符,看上去比较清晰(也可以节约数据长度且换算关系相当直观) 。

推荐阅读