当前位置:首页 » 《随便一记》 » 正文

C语言之移位操作符、位操作符详解_m0_63039919的博客

12 人参与  2022年05月07日 12:34  分类 : 《随便一记》  评论

点击全文阅读


目录

1、移位操作符

2、位操作符


1、移位操作符

分为左移操作符(>>)和右移操作符(<<)。

左移操作符:

移位规则:左边抛弃,右边补0。

什么意思呢,现在就让我来仔细讲解一番。

比如我们定义一个整型变量a,给它赋初值5.如int a=5;然后将a左移,即a<<2,得到的结果又是多少呢?在讲之前,我们首先要了解到整型5在内存中是怎样存储的,不太清楚的友友们就请看我之前一篇博客整数的3种表达形式及在内存中的存储啦,里面有详细讲解。整型5是以补码的形式来存储的。而将5左移2位就是将存储在内存中的二进制位向左移动2位并将此2位抛弃,右边用0补齐。最后得到的就是5<<2后的结果啦,可以用一下图来简单描述一下~

 根据上图可知a<<2后得到的结果就是20。

右移操作符:

首先右移运算分为两种。算数移位和逻辑移位。

算数移位规则:左边用该值的符号位填充,右边丢弃。

逻辑移位规则:左边用0补充,右边丢弃。

具体什么意思呢,我们还是来看看几个例子,如将5右移移位,即5>>1,得到的是多少呢?

如果是算数移位的话,就是将5存储在内存中的二进制位向右移动1位并将这一位抛弃,左边用该值存储的二进制位的符号位补齐。如下图:

所以5>>1得到的结果就是2。那逻辑移位呢,逻辑移位就是左边用0,补充,右边抛弃。对正数而言,其符号位就是0,所以算数移位与逻辑移位得到的结果相同,逻辑移位也可以用上图来表示啦,得到的结果也是2。

若将-5右移一位呢,得到的结果又是什么呢。我们先来看看算数移位,就不多赘述了,请看下图:

 

所以-5>>1算数移位得到的就是-3。

同理,我们来看看-5>>1逻辑移位的得到的是什么吧~

 

因为最高位是0,所以最后的结果就是3啦~。但是一般条件下都是用的算数移位哈。

2、位操作符

&     按位(二进制位)与

|      按位(二进制位)或

^     按位(二进制位)异或

我们直接来看这段代码,大家可以先猜一下最后输出的是哪三个数呢:

int main()
{
	int a = 3;
	int b = -5;
	printf("%d %d %d", a & b, a | b, a ^ b);
	return 0;
}

我们先来分析一下:按位与就是将两个数存储的二进制位作比较,两者均为1才为1,否则为0。因此a&b用图来分析就是:

因此a&b的结果就为3了。

按位或就是 将两个数存储的二进制位作比较,两者中有一个为1就为1,否则为0。因此a|b用图来分析就是:

 

所以a|b的值就是-5了。

按位异或就是 两个数存储的二进制位作比较,两者相同为0,相异为1,因此a^b用图来分析就是:

 所以a^b的结果就是-8啦。

最后我们让程序来运行一下:

 是和分析的一样吧~~~

到这里就结束啦,希望友友们能给个赞哈~~~


点击全文阅读


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

移位  算数  操作  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

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

最新文章

  • 残雪凝阶春不回+后续+结局夏妍菲方鹤安彩蛋序章+全篇(夏妍菲方鹤安)前传
  • 偷藏盛夏的星光全书+后续(谈清聿孟希槐)全书谈清聿孟希槐结局_谈清聿孟希槐+结局列表_笔趣阁(偷藏盛夏的星光全书+后续)
  • 「我死后,成为老公缝补的尸体」小说章节免费试读_「老公刘丽丽张晓」章节悬念抢先解锁‌
  • [发现怀孕这天,丈夫的白月光离婚了]爆款小说高能章节试读_[顾宴姜婉青梅]完结版免费阅读
  • 旧梦残缘许相思精彩章节试读_「嘉月心瑶舟玉瑶」反转剧情试读片段
  • 黑暗涌落,又见朝阳完结版免费阅读_林朝小狗小丑节选试读
  • 「鸢影云烟不可追」节选角色羁绊特辑‌_[徐启玄清宁南鸢]小说精彩章节分享
  • (番外)+(全书)途径一场风月结局+番外***_(商予淮宋泠音)途径一场风月结局+番外列表_笔趣阁(商予淮宋泠音)
  • (番外)+(全书)夏夏孟东程晓晓宋易(哥哥为陪红颜,害嫂子和我丧命结局+番外)全书在线_夏夏孟东程晓晓宋易免费列表_笔趣阁(哥哥为陪红颜,害嫂子和我丧命结局+番外)
  • 「重生流放,搬空仇家扶持小叔称帝」章节世界观揭秘篇‌_苏暖凌云最新后续章节在线阅读
  • 途径一场风月全书+后续+结局(宋泠音商予淮)列表_途径一场风月(宋泠音商予淮)途径一场风月全书+后续+结局在线
  • 你的谎言是座坟墓结局+番外精选作品之一(楚湘怀谢言宸)列表_你的谎言是座坟墓结局+番外精选作品之一

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

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