c语言位与运算的作用,c语言位运算符的用法
c语言位运算符的用法
C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。下面小编就为大家介绍下c语言位运算符的用法。
c语言位运算符的用法如下:
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为0000000011111111)。
main(){
int a=9,b=5,c;
c=a&b;
printf("a=%d/nb=%d/nc=%d/n",a,b,c);
}
2. 按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下: 00001001|00000101
00001101 (十进制为13)可见9|5=13
main(){
int a=9,b=5,c;
c=a|b;
printf("a=%d/nb=%d/nc=%d/n",a,b,c);
}
3. 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下: 00001001^00000101 00001100 (十进制为12)。
main(){
int a=9;
a=a^15;
printf("a=%d/n",a);
}
4. 求反运算
求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的`各二进位按位求反。例如~9的运算为: ~(0000000000001001)结果为:1111111111110110。
5. 左移运算
左移运算符“<
6. 右移运算
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。
例如:设 a=15,a>>2 表示把000001111右移为00000011(十进制3)。 应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。
main(){
unsigned a,b;
printf("input a number: ");
scanf("%d",&a);
b=a>>5;
b=b&15;
printf("a=%d/tb=%d/n",a,b);
}
请再看一例!
main(){
char a='a',b='b';
int p,c,d;
p=a;
p=(p<<8)|b;
d=p&0xff;
c=(p&0xff00)>>8;
printf("a=%d/nb=%d/nc=%d/nd=%d/n",a,b,c,d);
}
【c语言位运算符的用法】相关文章:
c语言位与运算的作用,c语言位运算符的用法相关推荐
- c语言移位运算的作用,C语言的移位操作符使用方法
位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算.位移位运算符分为左移和右移两种,均为双目运算符.第一运算对象是移位对象,第二个运算对象是所移的二进制位数.以下是小编为大家搜索整理 ...
- c语言中字符进行按位与,c语言位运算符的用法
C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果.下面小编就为大家介绍下c语言位运算符的用法. c语言位运算符的用法 ...
- MySQL—运算符详解(算术、比较、逻辑、范围运算符与集合运算符 模糊查询 NULL值运算与null值判断 位运算符)
MySQL--运算符详解 知识纲要 算术运算符 比较运算符 逻辑运算符 范围运算符与集合运算符 模糊查询 NULL值运算与null值判断 位运算符 1.算术运算符 加 减 乘 除 取余 div 也表示 ...
- 单片机c语言或运算,单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解
位运算是指按二进制位进行的运算.在单片机中位运算通常用于I/O端口的输入输出控制和逻辑判断. C语言提供的位运算符有: 运算符 含义 功能 & 按位与 如果两个相应的二进制位都为1,则该位的结 ...
- c语言的应用与作用,C语言主要应用在什么地方?
C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围 ...
- c语言符号运算优先级6,c语言运算符号的优先级
c语言运算符号的优先级 本文来自百度搜索只为查看方便 优先级等级口诀: 圆方括号.箭头一句号, 自增自减非反负.针强地址长度, 乘除,加减,再移位, 小等大等.等等不等, 八位与,七位异,六位或,五与 ...
- C语言结构标记的作用,C语言基础知识之词法符号
任何高级语言都有自定义的词法符号和支持的数据类型. 词法符号是语言的基本组成单位,数据类型是数据的基本属性.这里我将先对C语言的C法符号做一个小的总结,既是对我自己C语言的一个系统的整理与提高,也希望 ...
- c语言位运算符的应用,c语言位运算(c语言位运算符的用法)
a=1^8 b=32^32 c=7^3 d=4&3 e=4|3 f=1&-1 求值 求详解 求值 为什么等于这么. 一.位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ...
- c语言程序头文件作用,C语言头文件
C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...
最新文章
- hadoop的两大核心之一:HDFS总结
- CentOS7(64位)安装NVIDIA显卡驱动和CUDA8.0
- Android之异步消息处理机制Handler源码解析
- 随机验证码 php
- Curl操作es实践
- 《C++覆辙录》——2.9:自反初始化
- ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)
- Optional 处理空指针
- Linux虚拟文件系统VFS的相关数据结构和操作
- mysql语言是数据的行数据_自己总结的一些my sql数据库的知识,需要的可以看一看...
- XenApp简单部署
- 1.2.3 SPF计算过程
- ktv点歌系统主界面java_欢迎进入MyKTV前后台点歌系统展示
- 前端性能优化:7.页面渲染优化
- Nginx定义域名访问方式
- java.sql.SQLException: Parameter number X is not an OUT parameter
- 一、Linux的由来
- IDEA中报错:java: -source 1.5 中不支持静态接口方法调用
- 辛巴巴巴鲁比啦音乐计算机版,辛巴巴巴鲁比啦是什么歌
- 微软免费MSE背后真正的动机和面临的挑战
热门文章
- MacOS 修改主机名 hostname ComputerName
- C++天天练——员工工资
- 湮灭的风流-基于JavaScript的CSS技术概览
- RFM数据分析法帮你的男朋友值不值得嫁
- 软件测试术语英文名称
- dreamhost 好用吗_为DreamHost共享主机启用SSD:简单的性能评估
- B. Big Vova(暴力)
- 支付宝手机网站支付,app支付,PC端支付流程以及服务端php支付下单,回调流程详解
- 逆天!谷歌推出Python在线编辑器
- 埃斯顿工业机器人控制柜_埃斯顿多款新品重磅发布,携手TRIO,M.A.i、CLOOS为您呈现精彩纷呈的工博会!...