20.《C语言》——【移位操作符】

2024-07-19 1794阅读

🌹开场语

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优秀的程序员。如果你有任何疑问或建议,请随时在评论区留言,让我们一起成长进步!现在,让我们开始这场知识之旅吧!


20.《C语言》——【移位操作符】


🚀个人主页: FEN03

📖文章专栏: C语言


文章目录

  • 🌹开场语
  • ▶️ 前言
  • 🚀 1. 移位操作符
    • 🚀 1.1 左移操作符
    • 🚀 1.2 右移操作符
    • 🌹总结
    • 🌹结束语

      ▶️ 前言


      本章节,就让我们来学习移位操作符,如有错误❌,还请大佬们指出!🌹


      🚀 1. 移位操作符


      移位操作符分为2种分别为:

      1. 左移操作符
      2. 右移操作符

      提示:移位操作符只能对于整数


      🚀 1.1 左移操作符


      移位的规则:左边丢弃,右边补0

      如:我们把5左移1位

      代码如下:

      //左移操作符
      #include
      int main()
      {
      	int n = 5; 
      	int m = n 
      	int a = -3;  
      	int b = a 
      	int a = 4;   
      	int b = a  1;  
      	printf("a = %d\n", a); 
      	printf("b = %d\n", b);
      	return 0; 
      }
      

      运行结果:

      20.《C语言》——【移位操作符】

      如何进行右移?

      1. 写出该值的原反补码,如下:20.《C语言》——【移位操作符】
      2. 正数的原反补码相同,我们不需要对其进行任何的转换20.《C语言》——【移位操作符】

      例子1举的是正数,负数又如何进行右移操作呢?

      例子2:

      #include
      int main() 
      {
      	int n = -8;  
      	int m = n >> 2;  
      	printf("n = %d\n", n);     
      	printf("m = %d\n", m);  
      	return 0;
      }
      

      运行结果:

      20.《C语言》——【移位操作符】

      负数如何进行的呢?

      1. 写出该数的原反补码,因为是负数,所以原反补码不相同,需要进行转换,如下:20.《C语言》——【移位操作符】

      2. 补码进行操作,右移2位丢弃,左边按原符号位值来补,最后还需要进行原反补码的转换 20.《C语言》——【移位操作符】


      小节:

      1. 我们已经举例了2个,分别是4和-8,得到的结果分别是2和-2,可以说右移操作符是有除2的效果,但是并不是所有的数都有着除2的效果,对于个别数来说是没有的。

      🌹总结


      1. 对于移位操作符,我们只需要记住规则就可以,当然了想要更好的了解,还需要对二进制的三种表示形式:原码,反码,补码,有所了解。
      2. 这是因为,移位操作符操作的是二进制的补码。所以当我们得到原码还需要进行转换得到补码。

      🌹结束语


      非常感谢您花时间阅读我的博客,希望我的分享能为您带来收获。如果您对本文有任何想法或疑问,欢迎在评论区留言交流。如果您喜欢我的博客,请继续关注,我会定期更新更多精彩内容。最后,别忘了行动起来的力量,让我们一起实践这些方法,见证自己的成长和进步!

      再见,祝您生活愉快!


VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]