位运算操作

使用位运算操作符可以将一个存储单位中的各个二进制位进行处理。向内存读取和写入数据的最小单位是字节,字节在操作系统中可以可以分为更小的单元“位”。如果一个字节的内容是“01101010”,其对应的值是106。但是在操作系统中,数值的存储并不是直接以其二进制存储的,而是以补码来存储的。

这里复习一下补码:非负数的补码与原码相同;负数的补码的符号位是1,其余位为将该数绝对值的原码按位取反后再加1的结果。

位运算操作符

  1. 取反(~):对所有位进行按位取反
  2. 位或(|):将两个操作数逐位进行位或运算,只要有一个数值为1,位或的结果便是1;如果都为0,位或的结果为0。
  3. 位与(&):将两个操作数逐位进行位与运算,只要有一个数值为0,位与的结果便是0;如果都为1,位与的结果为1。
  4. 异或(^):两个数一样,则值为0,如果不一样,值为1。
  5. 位移操作符:有符号位的右移有两种:算术右移(仍为负数)和逻辑右移(为正数)。大部分的系统采用算术右移。左移一位相当于乘2;左移 n
    位,相当于乘2 的 n 次方。

位运算赋值操作符

就是将位操作符与赋值操作符组合在一起(除了取反操作)。
比如:a &= b; 相当于 a = a & b;

循环移位:移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端;而循环右移时,用从右边移出的位填充字的左侧。

21天学通C语言-学习笔记(11)相关推荐

  1. 21天学通C语言-学习笔记(3)

    第三章 变量与常量 在C程序中,使用常量和变量两种形式来存储和表示数值.为了保存各种不同的数据,C语言定义了一系列的数据类型.本章将重点讨论常量和变量的使用方法.通过本章的学习,要重点掌握以下内容: ...

  2. 《21天学通C语言(第6版•修订版)》一导读

    前 言 21天学通C语言(第6版•修订版) 本书旨在引导读者在21天内学通C语言编程.虽然有来自诸如C++.Java和C#的激烈竞争,但很多初学编程者还是会选择C语言.正如第1天课程介绍的原因,选择C ...

  3. 《21天学通C语言(第7版)》一2.2 程序的组成部分

    本节书摘来自异步社区<21天学通C语言(第7版)>一书中的第2章,第2.2节,作者 [美]Bradley Jones , Peter Aitken , Dean Miller,更多章节内容 ...

  4. 21天学通c语言第四版pdf,21天学通Visual C++ PDF扫描版[116MB]

    21天学通Visual C++ 内容简介: 本书是Visual C++语言的入门教程,较全面地介绍了Visual C++编程的相关知识,然而,本书并没有泛讲Visual C++语言的所有知识,而是突出 ...

  5. 21天学通c语言思维导图,21天思维导图学习 ----开发脑洞、助力成长

    kk      第一次知道"思维导图"这个词,是在参加Grace创办的第一期"成长集训营".她建议我们用思维导图的方式去完成每天的思考作业,了解和认知也仅在于它 ...

  6. C语言学习笔记06-占位符格式、C基本类型及逃逸字符一些细节(附介绍BCD码)

    主要整理有关占位符格式与逃逸字符的一些细节 朋友们,看栗子--"BCD解码" (文末附BCD码介绍) 一个BCD数的十六进制是0x12(对应二进制表示:0001 0010),它表达 ...

  7. 21天学通Java学习笔记-Day01

    21天学通java 中文第6版 下载地址:点击打开链接 Day01: 命令行查看和设置classpath: 查看:echo %classpath% 设置:set classpath = %classp ...

  8. 21day学通python epub_21天就让你掌握Python语言,《21天学通Python》PDF版送给你去学...

    Python的学习书籍小编看过很多,但是这本<21天学通Python>真的是堪称极品! 本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版 ...

  9. ole2高级编程技术 pdf_21天快速掌握Python语言,《21天学通Python》PDF版送给你去学...

    Python的学习书籍小编看过很多,但是这本<21天学通Python>真的是堪称极品! 本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版 ...

  10. C语言学习书籍推荐《学通C语言的24堂课》下载

    下载地址:点我 编辑推荐 <学通C语言的24堂课>: 用持续激励培养良好习惯以良好习惯铸就伟大梦想 --致亲爱的读者朋友 在开始学习<学通C语言的24堂课>的同时,强烈建议读者 ...

最新文章

  1. OpenCL,OpenGL编译
  2. Msql sql(优化三)
  3. IBM AI辩手对战世界级人类辩手,炒作还是秀肌肉?
  4. webpack loader的套路
  5. Eclipse安装git插件EGit
  6. c++ cstring 转换 char_Java基本数据类型的介绍及其转换(内附字符串与多种数据之间的转换)...
  7. pandas计算时间的间隔天数
  8. 用 Maven 做项目构建
  9. 2021职场白领健康图鉴.pdf(附下载链接)
  10. linux 环境安装及学习
  11. 电子开发网---一个硬件很好的网站
  12. ffmpeg系列-视频旋转角度实现
  13. 目前人们把通用计算机,计算机与信息社会基础知识测试题.doc
  14. 已知两点坐标求水平距离_根据两点经纬度计算距离
  15. python股票收益率协方差_[Python]如何利用TuShare计算各股票间的相关性和协方差
  16. c语言编程阿拉伯数字转中文,阿拉伯数字到中文大写数字的转换
  17. [ZT]SAP ECC5.0 Working Log TO 2008.5.26
  18. VS 【】处有未经处理的异常(在【程序名】.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000000,0x008D2000)。
  19. w500 安装 gentoo相关优化
  20. C语言网络聊天室——服务器端

热门文章

  1. html新浪微博页面练习,js实现新浪微博首页效果
  2. 蝙蝠算法c语言,求解0-1背包问题的二进制蝙蝠算法
  3. Linux USB总线驱动框架分析
  4. matlab卷积动画实现
  5. 理解辐射校正、辐射定标、大气校正关系
  6. Ubuntu入门——基础终端命令
  7. bbsmax mysql_MySQL中自己不太常用的命令
  8. 泛微oa系统什么框架_泛微OA ecology 二次开发实例 开发完整说明
  9. 写给非网工的CCNA教程(6)VLAN和802.1q协议
  10. Webtrends收购实时分析公司Reinvigorate