&=(按位与后赋值)

x = 0x02;

x &= 0x01;

按位与后的结果为:0x00

 x = 0x02; x &= 0x01;

字符 & 的最早历史可以追溯到公元1世纪,最早是拉丁语et (意为and)的连写。最早的 & 很像 E 和 T 的组合,随着印刷技术的发展,这个符号逐渐形成自己的样式并脱离其原始影子。在这个字符中,仍能看出E的影子,但是T已经消失不见。

&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。

a&b表示a和b按位进行与运算。

&后面是个变量。每个变量对应一块存储空间。每个存储空间有一个编号,也就是地址,&变量名 表示取出这个编号,变量名表示取出这个编号所对应的存储空间里的值。

系统就会在内存中分配一个空间,*a的值就是变量a的值3; 定义一个指向整型数据的指针,作用与&相反,它是根据变量的地址取出变量的值;在编译时就给它分配一个地址,该指针指向整型数据;&a就是2000,再把3写入这个空间。


^=(按位异或后赋值)

x = 0x02;

x ^= 0x01;

按位异或的结果为:0x03 等同于0011

 x = 0x02; x &= 0x01;

在C语言中^= 的意思是相等,^= 是关系运算符,用来判断两个值大小是否相同,当左边的内容与右边的内容相同时,返回1,其余时候返回0。
C语言作为一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。 C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位


|=(按位或后赋值)

x = 0x02;

x |= 0x01;

按位或的结果为:0x03 等同于0011

a|=b 等效于 a=a|b 按位或并赋值。
“|”:或运算符
“|”运算符,就是按位“或”,只要两者对应位有一个为“1”,则结果对应位就为 1,否则为 0

C语言 =(按位与后赋值)^=(按位异或后赋值) |=(按位或后赋值)相关推荐

  1. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...

    /查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...

  2. 查询框赋值后不可编辑_【技巧分享】阻塞赋值与非阻塞赋值

    原创 小黑同学 明德扬FPGA科教 关于阻塞赋值和非阻塞赋值的问题,明德扬的学员提得比较多,今天小黑老师专门给大家普及一下阻塞赋值和非阻塞赋值的相关知识. 一.概述 1.阻塞赋值对应的电路往往与触发沿 ...

  3. C语言结构体赋值和有指针成员的结构体赋值

    1  结构体赋值 #include <windows.h>struct MyStruct {int a;int b;char c[20]; };int APIENTRY WinMain(H ...

  4. c语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出,从键盘上输入3个数,将它们按由大到小的顺序排列好输出...

    vb中从键盘上输入10个数,判断有几个偶数,有几个奇数? 我给你写了,挺简单的.窗体上添加两个label控件一个command控件Dima(1To10)DimbDimcAsIntegerDimdAsI ...

  5. 后序遍历的非递归算法python_二叉树后序遍历(递归与非递归)算法C语言实现...

    二叉树后序遍历的实现思想是:从根节点出发,依次遍历各节点的左右子树,直到当前节点左右子树遍历完成后,才访问该节点元素. 图 1 二叉树 如图 1 中,对此二叉树进行后序遍历的操作过程为: 从根节点 1 ...

  6. 快速幂算法c语言求a的n次方,快速幂运算模板(求n^k以及前几位或后几位)

    计算n^k的结果 步骤: 1.把n由十进制转换为二进制,按二进制来计算(最后结果还是一样的) 2.把n由二进制转换为2^k相加的形式 先举个例子: 求5^22: 接着就可以很好地理解了 O(logn) ...

  7. java中任何变量都可以被赋值为null,java中当给一个对象赋值为null时发生了什么...

    比如下面的代码 String[] arr = new String[10]; arr=null; 将arr这个引用置空,不指向任何对象. 上面new的那个数组对象,则没有任何引用指向它,垃圾回收器可以 ...

  8. Arcgis按面积占优赋值法对地类图斑坡度进行赋值制作耕地及林地后备资源补充空间底图

    3月17日,云南省自然资源厅召开了全省国土空间规划推进会暨相关业务培训视频会议,会上由耕地和林地后备资源补充空间划定工作专班开展关于后备空间划定技术规则.成果汇交要求及举证平台操作等专业技术培训.在制 ...

  9. 2018微信年度数据报告:00后最爱表情捂脸哭 80后呲牙笑

    来源 :腾讯科技 摘要:腾讯科技讯 1月9日消息,在今日举行的2019微信公开课PRO上,微信发布了<2018微信年度数据报告>. 报告显示,2018年,微信每个月有10.82亿用户保持活 ...

最新文章

  1. php mysql 500错误日志_服务器出现500错误的时候,让PHP显示错误信息
  2. 不自动切换eclipse视图
  3. 【IOC 控制反转】Android 布局依赖注入 ( 布局依赖注入步骤 | 布局依赖注入代码示例 )
  4. SQLServer2008创建新用户 转
  5. SAP转储订单(STO)
  6. 防止UI界面被输入法遮挡(画面随输入法自适应)
  7. Win7/Win8.1升级Win10后屏幕一直闪烁怎么办?
  8. 2019蓝桥杯省赛---java---B---7(外卖店优先级)
  9. UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
  10. kali安装DVWA详细教程
  11. 毕业设计:基于STM32的智能家居无线(蓝牙wifi)语音控制系统
  12. 一文读懂增强现实(AR)技术
  13. CSS3的新特性以及IE下的实现
  14. 飞凌A40i/T3核心板在台区智能融合终端中的应用
  15. 公告抄袭我文章的掘金账号:[freesan44](https://juejin.cn/user/1063982986970984) 和公众号:小集
  16. conver(array)
  17. Linux学习笔记---阿里云
  18. processing画坐标系,画函数图像
  19. 用endnote导入参考文献要求期刊名称缩写
  20. 初试Cisco Packet Tracer--1——集线器

热门文章

  1. HAL库 output level 和 pull up/ pull down 的区别
  2. Gradle依赖项之transitive/exclude/force/(+)
  3. linux进阶之道 pdf,PDF
  4. netlist compile速记
  5. Design Compiler综合出来的网表中出现\**SEQGEN**,解决方案
  6. h5清理微信浏览器网页缓存
  7. win10怎么显示文件后缀名
  8. 小波分析用于阈值去噪
  9. 如何在word 插入矢量图
  10. 神经网络 深度神经网络,图神经网络和神经网络