当前位置:首页 » 《资源分享》 » 正文

~操作符含义及用处举例(详细易懂)_m0_53558236的博客

0 人参与  2021年10月18日 09:23  分类 : 《资源分享》  评论

点击全文阅读


~操作符含义及用处举例

文章目录

  • "~"的含义
  • "~"的作用举例

"~"的含义

~:对一个数的二进制按位取反

对整个数,包括符号位都可以按位取反。

一起来看下面这段代码:

int main()
{
	int a = 0;
	int b = ~a;
	printf("%d\n", b);
	return 0;
}

输出的b是什么呢?一起来看一下

a:00000000000000000000000000000000

b = ~a全部按位取反,即

b:11111111111111111111111111111111 //b的补码

这行代码:printf("%d\n", b);

💡注意:%d去打印的时候,认为内存中存放的是有符号数的补码

现在我们要来计算b的原码

先算出b的反码:(补码减1)

11111111111111111111111111111110 //b的反码

原码即为:(反码的符号位不变,其他位按位取反)

10000000000000000000000000000001 //b的原码

所以就可以知道b的值为-1。

💡tips:-1的二进制序列在内存中存的补码是全1,反过来,当我们见到全1,也就可以立马反应过来,它的原码是-1.✌

那肯定有人就疑惑了,这个运算符有什么用呢?

"~"的作用举例

13的二进制序列为:

00000000000000000000000000001101

现在,我们想让它的倒数第二位的0变成1(从而使a的值变成15),可以怎么实现呢?

image-20210913185620386

有一个方法我们知道,就是给这一位按位或”一个1,

image-20210913190732637

❓那00000000000000000000000000000010可以怎么得到呢?

我们可以把1向左移一位,即

1<<1

所以,整个就可以这样实现:

a |= (1 << 1);

其中,“|”是“按位或”操作符,“<<”是左移操作符。

int main()
{
	int a = 13;
	a |= (1 << 1);
	printf("%d\n", a);//输出15
	return 0;
}

😘接下来,就要用到“~”操作符了

15的二进制序列为:

00000000000000000000000000001111

现在,我们想让15的二进制序列的倒数第二位的1变成0(从而使它的值变成13),可以怎么实现呢?

image-20210913194422412

我们可以给这一位按位与”一个0,但是其他位不能影响,所以其他位得“按位与”1;

image-20210913195509168

❓那问题是11111111111111111111111111111101怎么得到?

我们可以看到11111111111111111111111111111101是00000000000000000000000000000010的按位取反

也就是说,我们可以给1向左移动一位,再按位取反即可得到。

~(1 << 1)

所以,整个就可以这样实现:

a &= (~(1 << 1));

其中,“&”是“按位或”操作符。

整段代码如下:

int main()
{
	int a = 15;
	a &= (~(1 << 1));
	printf("%d\n", a);//输出13
	return 0;
}

其中,“&”是“按位或”操作符。

整段代码如下:

int main()
{
	int a = 15;
	a &= (~(1 << 1));
	printf("%d\n", a);//输出13
	return 0;
}

以上就是我总结的关于“~”操作符的相关内容
如果对你有帮助,别忘了点赞👍+收藏
欢迎大家的指导
我的主页还有其他内容,关注❤我,我们一起学习一起成长!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/29982.html

补码  反码  操作  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 黄花落尽春光来结局+番外笔趣阁(宋晴沈子岳薛灵灵)_黄花落尽春光来结局+番外笔趣阁
  • 屠城时夫君带了外室逃生,后来他跪求我原谅推文_陆玄川秦绾绾***免费品鉴_小说后续在线阅读_无删减免费完结_
  • 完结文重生后我让校花保管所有准考证+完结篇列表_完结文重生后我让校花保管所有准考证+完结篇(秦雨然江述怀洛瑶)
  • 江映月小说小说全集+延伸+完本(前妻有喜,陆总请排队恭喜)畅享在线阅读
  • 风过南山,爱与愿违在线(唐婉心陆谨言)全书免费_(唐婉心陆谨言)风过南山,爱与愿违在线后续(唐婉心陆谨言)
  • 天阉老公出轨魅魔秘书,我找薄肌大佬生孩子他却后悔了免费(沈知薇贺宴礼)_天阉老公出轨魅魔秘书,我找薄肌大佬生孩子他却后悔了免费(沈知薇贺宴礼)
  • 秦雨然的重生后我让校花保管所有准考证彩蛋秦雨然江述怀洛瑶全书在线
  • 完结文送子观音高分完本列表_完结文送子观音高分完本(殷茵程沐白)
  • 此后春风皆过客(池婉白叙安)整本+后续+(此后春风皆过客)结局在线阅读
  • 春知晓梦不觉完结爽文(阮清歌薄时谦)_春知晓梦不觉完结爽文(阮清歌薄时谦)
  • 完结文流光错系断蓬之舟谢晚烟在线列表_完结文流光错系断蓬之舟谢晚烟在线(沈煜谢晚烟)
  • 完结文流光错系断蓬之舟谢晚烟列表_完结文流光错系断蓬之舟谢晚烟(沈煜谢晚烟)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1