嵌入式C之进制、位、结构体、变量
一、2进制、8进制、16进制的相互转换
二进制0B,十六进制0X:
例:十进制15 0B1111 0X0F
一位十六进制数等于4位二进制数,通过8421码来计算.
二、位运算(或、与运算、异或,取反,左移,右移)
位运算主要包括与( & )、或( | )、异或( ^ )、取反( ~ )、左移( << )、右移( >> )这几种,其中除了取反(~)以外,其他的都是二目运算符,即要求运算符左右两侧均有一个运算量。
1.补码
将十进制的负数转化为二进制,负数是以补码的形式表示,其转换方式就是:先按正数转换,然后取反加1。
例如:
要将十进制的-10用二进制表示,先将10用二进制表示:
0000 0000 0000 1010
取反:
1111 1111 1111 0101
加1:
1111 1111 1111 0110
所以,-10的二进制表示就是:1111 1111 1111 0110
2.与(&)运算
参加运算的两个数,换算为二进制(0、1)后,进行与运算。