c语言中的运算符及其含义

1)&(按位与) (1) & (bitwise AND))

It does AND on every bit of two numbers. The result of AND is 1 only if both bits are 1.

它对两个数字的每一位进行“与”运算。 仅当两个位均为1时,AND的结果才为1。

Example:

例:

    4 & 7
4 → 00000100
7 → 00000111
Doing AND for each bit
From LSB:
0 & 1= 0 (LSB of output)
0 & 1= 0
1 & 1= 1
0 & 0 =0
0 & 0 =0
0 & 0 =0
0 & 0 =0
0 & 0 =0
Thus output:
00000100 → 4
4 & 7 =4

2)| (按位或) (2) | (bitwise OR))

It takes two numbers as operands and does OR on every bit of two numbers. The result of OR is 1 any of the two bits is 1.

它使用两个数字作为操作数,并对两个数字的每一位进行“或”运算。 OR的结果为1,两个位中的任何一个为1。

Example:

例:

    4 | 7
4 → 00000100
7 → 00000111
Doing OR for each bit
From LSB:
0 | 1 =1 (LSB of output)
0 | 1 =1
1 | 1 =1
0 | 0 =0
0 | 0 =0
0 | 0 =0
0 | 0 =0
0 | 0 =0
Thus output:
00000111 → 7
4 | 7 =7

3)^(按位XOR) (3) ^ (bitwise XOR))

It does XOR on every bit of two numbers. The result of XOR is 1 if the two bits are different.

它对两个数字的每一位执行XOR。 如果两个位不同,则XOR的结果为1。

Example:

例:

    4 ^ 7
4 → 00000100
7 → 00000111
Doing XOR for each bit
From LSB:
0 ^ 1 =1 (LSB of output)
0 ^ 1 =1
1 ^ 1 =0
0 ^ 0 =0
0 ^ 0 =0
0 ^ 0 =0
0 ^ 0 =0
0 ^ 0 =0
Thus output:
00000011 → 3
4 ^ 7 =3

4)<<(左移) (4) << (left shift))

It takes two operands, left shifts the bits of the first operand, the second operand decides the number of places to shift. In every left shift all bits are shifted to left adding a logical 0 at LSB.

它需要两个操作数,左移第一个操作数的位,第二个操作数确定要移位的位数。 在每个左移中,所有位都向左移,在LSB处加逻辑0。

Example:

例:

    4<<1
Before 1 left shift
00000100
After 1 left shift
00001000 → 8
So 4<<1 = 8

5)>>(右移) (5) >> (right shift))

It takes two numbers, right shifts the bits of the first operand, the second operand decides the number of places to shift.

它需要两个数字,右移第一个操作数的位,第二个操作数确定要移位的位数。

    4>>1
Before 1 right shift
00000100
After 1 right shift
00000010 → 2
So 4<<1 = 2

6)〜(按位非) (6) ~ (bitwise NOT))

It takes one operand and inverts all bits of it

它需要一个操作数并将其所有位求反

Example:

例:

    ~4
00000100 → 11111011
~4=251

翻译自: https://www.includehelp.com/c/bitwise-operators-and-their-working-with-examples-in-c.aspx

c语言中的运算符及其含义

c语言中的运算符及其含义_按位运算符及其在C语言中与Example一起使用相关推荐

  1. c语言中%加字母是啥意思,%C是什么意思? C语言中%c,%s分别代表什么意思?

    导航:网站首页 > %C是什么意思? C语言中%c,%s分别代表什么意思? %C是什么意思? C语言中%c,%s分别代表什么意思? 相关问题: 匿名网友: %c单个字符输出的意思. %s是输出字 ...

  2. 在c语言中 一个函数一般由两个部分组成的,在C语言中,一个函数一般由两个部分组成,它们是______和______。...

    在C语言中,一个函数一般由两个部分组成,它们是______和______. 更多相关问题 [判断题]铁能从硫酸铜溶液中取代出铜,是因为铁与硫酸根具有更大的亲和力. A. 对 B. 错 [多选题]进行关 ...

  3. c语言中文件rw,bootloader和RO,RW,ZI在ARMC语言中

    Bootloader即引导加载程序,是系统加电后运行的第一段软件代码.简单的说它们都是bootloader,所完成的任务也大同小异. 熟悉x86体系结构的朋友肯定知道,x86平台上bootloader ...

  4. java语言中的合法的变量名_合法的变量名

    展开全部 变量可以通过变量名访问.在指令式语言中,变量通常是可变的:但在纯函数式语言(如Haskell)中,变量可能是e68a8462616964757a686964616f3133343365666 ...

  5. Java移位运算符详解实例——左移位运算符、带符号的右移位运算符

    移位运算符也针对二进制的"位",它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>). 1.左移运算符 ...

  6. c语言中 n的意义,\n\n在c语言中是什么意思?_后端开发

    PHP如何结合MySQL进行千万级数据处理_后端开发 一张一亿的订单表,可以分成五张表,这样每张表就只有两千万数据,分担了原来一张表的压力,分表需要根据某个条件进行分,这里可以根据地区来分表,需要一个 ...

  7. 属于python语言中合法的二进制整数是_以下选项属于 Python 整数类型的是( )

    [单选题]3*1**3 表达式输出结果为________ [多选题]以下的布尔代数运算正确的是( ) [单选题]下列________不是Python的数据类型. [单选题]下列不是Python语言关键 ...

  8. return在c语言的意思,return在c语言中是什么意思?_后端开发

    go语言通过命令方式生成可执行文件_后端开发 在我们编写好项目后一般都需要将其编译为可执行文件,本文就来为大家介绍一下go语言通过命令方式生成可执行文件的方法. return在c语言中是什么意思? r ...

  9. c语言整形符号位_基本整形型变量-在C语言中,整型常量与整型变量的区别是什么?举例...

    用什么关键字定义基本整型变量 int表示整型变量,long表示长整型变量,一般用int就足够了,例如 int a: int b = 2; 整型.短整型.长整型的区别是什么? 1.整型变量可以分为4类: ...

最新文章

  1. python 面板数据分析_科学网—Python中的结构化数据分析利器-Pandas简介 - 郑俊娟的博文...
  2. 在DataGireView中加筛选条件
  3. 什么是802.11G协议
  4. mysql range用法_MySQL的常用函数
  5. nginx 文件说明(非文件配置说明)
  6. [MyBatisPlus]条件构造器wapper
  7. easyui和My97DatePicker结合使用报“权限错误”的问题
  8. 三星1万亿元重金下注,推动AI、5G、半导体等项目的研究
  9. 学习笔记︱深度学习以及R中并行算法的应用(GPU)
  10. 聊聊机器学习中的损失函数(hinge/soft/square/0-1)
  11. openSUSE Tumbleweed 支持 Linux Kernel 4.20
  12. C#字符串转Json,Json解析
  13. 思科路由视频_HCNA-HNTD(H12-211)中文题库H10.24
  14. 【数据可视化作业】五个优秀可视化案例整理+Kaggle数据集useTableau实践
  15. 桌面窗口管理器占用内存过高 - 解决方案
  16. 大一上c语言基础知识题
  17. 元学习入门详解(MAML算法及Reptile算法复现)
  18. Blurry 高斯模糊库的使用
  19. 在线通过dd命令备份分区
  20. python的numpy教程_ROS与Python入门教程-使用numpy

热门文章

  1. 十个模块_专栏 | ABAQUS Part模块的十个小技巧
  2. linux下ora 01110,ORA-01003ORA-01110
  3. 动态新增表字段_制作动态的数据透视表(一):定义名称法创建数据透视表
  4. export Oracle_sid =asm,单实例下oracle数据库从文件系统迁移到ASM上
  5. python数据预处理 重复行统计_Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记...
  6. linux tips 技巧笔记一
  7. UVA - 1588 ​​​​​​​Kickdown
  8. 【算法】LeetCode算法题-Remove Duplicates from Sorted Array
  9. [8086汇编]利用栈翻转内存数据
  10. Jetbrains 系 IDE 编辑器的代码提示功能