您的位置:首页 > 其它

16进制转10进制 & 位移小记

2011-01-20 19:50 302 查看
16进制数字表示(0 --- F( 0 到15))
0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15)

16进制转为10进制的计算方式
计算方式: 0xMN = 16 x M + N ;

0xFF = 16 x 15 + 15 = 255;
0x60 = 16 x 6 + 0 = 96;

以此规律计算,方便容易记。。

取一个byte里面的低四位

int a = M;
int b = M & 0x0F;

b就是所要得到的低四位。

高四位 int c = (a>>4)&0x0F;

ps:

位运算应用口诀
清零取反要用与,某位置一可用或
若要取反和交换,轻轻松松用异或

& 与。 全1为1, 有0为0;  任何数与0异或都等于0。 
例: 101&010=000,即 5&2=0. 
| 或。 有1为1, 全0为0,和 & 相反。  任何数与0或都等于原值。
例: 101|010=111,即 5&2=7.
^ 异或。 相同为0,相异为1; 任何数与0异或都等于原值。 
例: 101^010=111,即 5&2=7.
<<左移。 补0。
>> 右移。 符号位是0补0,是1补1。 <符号位为第1为,0表示正数,1表示负数>
>>>无符号右移。补0。
~ 非 逐位取反

“按位与”操作符“&”对两个bit串按位进行逻辑与,“按位或”操作符“|”对两个bit串按位进行逻辑或,“按位异或”操作符“^”对两个bit串按位进行异或操作。运算规则如下表所示。
按位与 按位或 按位异或
0 & 0 = 0 0 | 0 = 0 0 ^ 0 = 0
0 & 1 = 0 0 | 1 = 1 0 ^ 1 = 1
1 & 0 = 0 1 | 0 = 1 1 ^ 0 = 1
1 & 1 = 1 1 | 1 = 1 1 ^ 1 = 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: