21天学通C语言-学习笔记(11)
位运算操作
使用位运算操作符可以将一个存储单位中的各个二进制位进行处理。向内存读取和写入数据的最小单位是字节,字节在操作系统中可以可以分为更小的单元“位”。如果一个字节的内容是“01101010”,其对应的值是106。但是在操作系统中,数值的存储并不是直接以其二进制存储的,而是以补码来存储的。
这里复习一下补码:非负数的补码与原码相同;负数的补码的符号位是1,其余位为将该数绝对值的原码按位取反后再加1的结果。
位运算操作符
- 取反(~):对所有位进行按位取反
- 位或(|):将两个操作数逐位进行位或运算,只要有一个数值为1,位或的结果便是1;如果都为0,位或的结果为0。
- 位与(&):将两个操作数逐位进行位与运算,只要有一个数值为0,位与的结果便是0;如果都为1,位与的结果为1。
- 异或(^):两个数一样,则值为0,如果不一样,值为1。
- 位移操作符:有符号位的右移有两种:算术右移(仍为负数)和逻辑右移(为正数)。大部分的系统采用算术右移。左移一位相当于乘2;左移 n
位,相当于乘2 的 n 次方。
位运算赋值操作符
就是将位操作符与赋值操作符组合在一起(除了取反操作)。
比如:a &= b; 相当于 a = a & b;
循环移位:移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端;而循环右移时,用从右边移出的位填充字的左侧。
21天学通C语言-学习笔记(11)相关推荐
- 21天学通C语言-学习笔记(3)
第三章 变量与常量 在C程序中,使用常量和变量两种形式来存储和表示数值.为了保存各种不同的数据,C语言定义了一系列的数据类型.本章将重点讨论常量和变量的使用方法.通过本章的学习,要重点掌握以下内容: ...
- 《21天学通C语言(第6版•修订版)》一导读
前 言 21天学通C语言(第6版•修订版) 本书旨在引导读者在21天内学通C语言编程.虽然有来自诸如C++.Java和C#的激烈竞争,但很多初学编程者还是会选择C语言.正如第1天课程介绍的原因,选择C ...
- 《21天学通C语言(第7版)》一2.2 程序的组成部分
本节书摘来自异步社区<21天学通C语言(第7版)>一书中的第2章,第2.2节,作者 [美]Bradley Jones , Peter Aitken , Dean Miller,更多章节内容 ...
- 21天学通c语言第四版pdf,21天学通Visual C++ PDF扫描版[116MB]
21天学通Visual C++ 内容简介: 本书是Visual C++语言的入门教程,较全面地介绍了Visual C++编程的相关知识,然而,本书并没有泛讲Visual C++语言的所有知识,而是突出 ...
- 21天学通c语言思维导图,21天思维导图学习 ----开发脑洞、助力成长
kk 第一次知道"思维导图"这个词,是在参加Grace创办的第一期"成长集训营".她建议我们用思维导图的方式去完成每天的思考作业,了解和认知也仅在于它 ...
- C语言学习笔记06-占位符格式、C基本类型及逃逸字符一些细节(附介绍BCD码)
主要整理有关占位符格式与逃逸字符的一些细节 朋友们,看栗子--"BCD解码" (文末附BCD码介绍) 一个BCD数的十六进制是0x12(对应二进制表示:0001 0010),它表达 ...
- 21天学通Java学习笔记-Day01
21天学通java 中文第6版 下载地址:点击打开链接 Day01: 命令行查看和设置classpath: 查看:echo %classpath% 设置:set classpath = %classp ...
- 21day学通python epub_21天就让你掌握Python语言,《21天学通Python》PDF版送给你去学...
Python的学习书籍小编看过很多,但是这本<21天学通Python>真的是堪称极品! 本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版 ...
- ole2高级编程技术 pdf_21天快速掌握Python语言,《21天学通Python》PDF版送给你去学...
Python的学习书籍小编看过很多,但是这本<21天学通Python>真的是堪称极品! 本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版 ...
- C语言学习书籍推荐《学通C语言的24堂课》下载
下载地址:点我 编辑推荐 <学通C语言的24堂课>: 用持续激励培养良好习惯以良好习惯铸就伟大梦想 --致亲爱的读者朋友 在开始学习<学通C语言的24堂课>的同时,强烈建议读者 ...
最新文章
- OpenCL,OpenGL编译
- Msql sql(优化三)
- IBM AI辩手对战世界级人类辩手,炒作还是秀肌肉?
- webpack loader的套路
- Eclipse安装git插件EGit
- c++ cstring 转换 char_Java基本数据类型的介绍及其转换(内附字符串与多种数据之间的转换)...
- pandas计算时间的间隔天数
- 用 Maven 做项目构建
- 2021职场白领健康图鉴.pdf(附下载链接)
- linux 环境安装及学习
- 电子开发网---一个硬件很好的网站
- ffmpeg系列-视频旋转角度实现
- 目前人们把通用计算机,计算机与信息社会基础知识测试题.doc
- 已知两点坐标求水平距离_根据两点经纬度计算距离
- python股票收益率协方差_[Python]如何利用TuShare计算各股票间的相关性和协方差
- c语言编程阿拉伯数字转中文,阿拉伯数字到中文大写数字的转换
- [ZT]SAP ECC5.0 Working Log TO 2008.5.26
- VS 【】处有未经处理的异常(在【程序名】.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000000,0x008D2000)。
- w500 安装 gentoo相关优化
- C语言网络聊天室——服务器端