对一个32位数据,任意位取反,其它不变,怎么写呢?

2019-08-20 19:17发布

            要写一个函数,它里面 需要两个形参,一个是32位数据,另一个是哪位取反的数字,再返回取反之后的这个数,
我自己写了半天,调出来,都是数据错误,

大神们谁写过,给小弟看看,嘿嘿。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
来俩不甜的
1楼-- · 2019-08-21 00:20
 精彩回答 2  元偷偷看……
dreamARM
2楼-- · 2019-08-21 01:18
来俩不甜的 发表于 2017-4-17 10:07
[mw_shl_code=applescript,true]u32 a(u32 b,u8 c)
{
if(b & (0x1

分两种情况判断呀
K.O.Carnivist
3楼-- · 2019-08-21 06:37
来俩不甜的 发表于 2017-4-17 10:07
[mw_shl_code=applescript,true]u32 a(u32 b,u8 c)
{
if(b & (0x1

这个 a = b ^ (1 << c) 就行吧
来俩不甜的
4楼-- · 2019-08-21 06:50
dreamARM 发表于 2017-4-18 10:46
分两种情况判断呀

取反吗,0->1  1->0 就是2中情况啊,看4楼的比较掉一点
huishun1314
5楼-- · 2019-08-21 09:58
某位置0:
b &= ~(u32)(1<<c);

某位置1:
b |= (u32)(1<<c);

某位取反:
b ^= (u32)(1<<c);

一周热门 更多>