16进制数的表示方法及转换

十六进制数具有下列两个特点:

英文字母A,B,C,D,E,F分别表示数字10~15。

计数到F后,再增加1个,就进位。

十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”,通常,对十六进制数的表示,可以在数字的右下角标注16或H,但在C语言中是在数的前面加数字0和字母X即0X来表示。例如,12AF在C语言中表示为0X12AF

二进制数到十六进制数的转换

从小数点开始,分别向左、右按4位分组转换成对应的十六进制数字字符,最后不满4位的,则需补0。

十六进制数到二进制数的转换

将每位十六进制数用4位二进制表示即可

十六进制数到十进制的转换

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…

位与运算符(&)

运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。

比如:129&128.

129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000000,即128.

<<      :     左移运算符,n<< m  相当于n乘以2的m次方

>>      :     右移运算符,n >> m  相当于n除以2的m次方