码迷,mamicode.com
首页 > 其他好文 > 详细

位操作

时间:2018-03-28 10:31:54      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:size   写法   body   null   16px   清零   signed   sig   class   

1、将a中的第10位置1,其他位不变

a |= (1<<10);

(1)将a中第10、15、20位置1,其他位不变

a |= ((1<<10)+(1<<15)+(1<<20));

 

 

2、将a中的第10位清零,其他位不变

a &= ~(1<<10);

(1)将a中第10、15、20位清零,其他位不变

a &= ~((1<<10)+(1<<15)+(1<<20));

 

 

3、将a中的第10位取反,其他位不变

a ^= (1<<10);

(1)将a中第10、15、20位取反,其他位不变

a ^= ((1<<10)+(1<<15)+(1<<20));

 

 

4、将值0x12345678(unsigned int)写到0x40000000地址上

第一种写法:

unsigned int * p = NULL;
p = (unsigned int*)0x40000000;
*p = (unsigned int)0x12345678;

第二种写法:

*(unsigned int *)0x40000000 = (unsigned int)0x12345678;

 

 

5、将地址0x400000000上的值读出来

unsigned int a = *(unsigned int*)0x40000000;

 

位操作

标签:size   写法   body   null   16px   清零   signed   sig   class   

原文地址:https://www.cnblogs.com/wurenzhong/p/8661627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!