c语言负数左移右移_C语言 位运算符的运算规则
位运算是指按照二进制进行的运算,在C语言中,提供了6种的位运算符,他们分别是按位与(&),按位或(|),按位异或(^),按位取反(~),左移(《)和右移(》)。这些运算符只能用整型操作数,也就是说只能用于带符号和不带符号的short,int,long,char类型。
1:按位与(&)
按位与是指讲两个操作数按照二进制位进行“与”运算。两个操作数相应的二进制位都为1,结果为1,反之结果为0。这个按位与的运算规则其实和逻辑运算符“与”一样,只不过是按位与是在二进制位上进行运算。
以3和5举例说明,3的二进制为00000011(2),5的二进制为00000101(2)这按位与的运算结果为00000001(2)即3&5=1。
2:按位或(|)
按位或是指讲两个操作数按照二进制位进行“或”运算。两个操作数相应的二进制位只要有一个为1,结果为1,反之结果为0。
以3和5举例说明,3的二进制为00000011(2),5的二进制为00000101(2)这按位或的运算结果为00000111(2)即3|5=7
3:按位异或(^)
按位异或是指将两个操作数按照二进制位进行运算,两个操作数相应的二进制位值只要相同,运算结果为0,反之结果为1。
以3和5举例说明,3的二进制为00000011(2),5的二进制为00000101(2)这按位异或的运算结果为00000110(2)即3^5=6
4:按位取反(~)
按位取反是单目运算符,只有一个操作数,是将操作数相应的二进制位数值取反。
以5为例,5的二进制数为00000101(2)
按位取反结果为00000010(2)即~5=2
5:左移(《)
左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负
以3来举例,3的二进制为00000011,左移结果为00000110,即《3=6
6:右移》
右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
c语言负数左移右移_C语言 位运算符的运算规则相关推荐
- c语言负数左移右移_C语言位运算符:与、或、异或、取反、左移和右移!
语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...
- c语言负数左移右移_C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
- c语言负数左移右移_C语言里的左移和右移运算
C语言里的左移和右移运算 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用运算符.例如:int i = 1;i = i 2; /把i里的值左移2位也就是说,1的2进制是000.0001(这 ...
- c语言负数左移右移_C语言中关于循环左移和循环右移
昨天在解答同学的问题中,又接触了好久没碰的C中的位操作.在重接触的过程中,又理解了一遍计算机存储数据的细节,于是分享给大家看一下. 让我们先看一下题目:编写一个程序,输入两个整数i.j,如果j的值大于 ...
- c语言负数左移右移_C语言左移和右移
事情的发生: 某日工作中有个需求是将不同的数值存到char的前4位和后4位中. 恰好同事中有同样取得32位int的前8位当成一个数值的代码: //取得32位中的高八位组成的值 #define U32_ ...
- c语言右移高位如何补1,c语言负数左移右移
事情的发生: 某日工作中有个需求是将不同的数值存到char的前4位和后4位中. 恰好同事中有同样取得32位int的前8位当成一个数值的代码: //取得32位中的高八位组成的值 #define U32_ ...
- c语言左移15位,关于c语言中左移右移运算符的问题
参照<c与指针>,在c语言中左移时,不论算术左移还是逻辑左移效果都是相同的.而且对于有符号和无符号类型执行相同的操作,即按照二进制位向左左移N位.例如: 1 clude 2 intmain ...
- c语言位运算负数的实例_C语言位运算符(附例题讲解)
C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 12.1.1 按位与运算 按位与运算符 "&&qu ...
- C语言中左移右移运算规则
https://blog.csdn.net/u012745229/article/details/51405332 左移 int i=1;i=i<<2;//把i里面的值左移2位 1 2 1 ...
最新文章
- 字符串匹配KMP算法
- Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件
- UVA10294项链和手镯(等价类计数问题)
- Oracle中 的 DBMS_CRYPTO加密包
- ASP.NET中新建Web网站并部署到IIS上(详细图文教程)
- 什么是ACID理论(二阶段、三阶段提交、TCC)
- C# 运行时中的泛型
- 安装hive操作参考视频
- 源码编译mysql-5.6.15
- appinventor贪吃蛇制作步骤_旋转RGB制作指导
- tcp三次握手和在局域网中使用 awl伪装MAC地址进行多线程SYN攻击
- HiveQL学习笔记(三):Hive表连接
- unsupported major.monor version 51.0 (unable to load *.servlet)………………
- face_recognition 安装报错问题解决
- QT 播放器之界面布局
- jdbc odbc连接mysql_具体说明JDBC连接数据库与ODBC连接数据的区别
- 【个人积累】轨道根数六要素中第4、5项的理解与STK仿真演示
- Win10:文件夹取消隐藏选项为灰色,无法勾选
- U盘中病毒后文件变为屏幕保护程序恢复方法
- 单片机计数器实验代码c语言,单片机计数器功能实验程序