1.按位与运算

①概念

“按位与”运算符“&”是双目运算符,其功能是将参与运算两数的各对应二进位相与。只能对应的两个二进位均为1时,结果位才为1,否则为0。

②“按位与”与运算的特殊用途

ⅰ.清零

如果想将一个存储单元清零,即使其全部二进位为0,可按这样的方法计算:

找一个数,它的补码形式中各位的值符合如下条件:原来的数中为1的位,新数中相应位为0(注意,并不要求原数为0的位上,新数相应位为1,新数相应位可以是0或1);对二者进行&运算。

ⅱ.取一个数中某些字节

对于一个整数a(占2个字节),如要想得到其中的低字节,只需将a与特定的一个数按位与即可。

③要想将一个数的某一位保留下来,可将该数与一个特定的数进行&处理。

2.按位或运算

“按位或”运算符“︳”是双目运算符,其功能是将参与运算两数的各对应的二进位相或。只要对应的两个二进位有一个为1时,结果位就为1。参与运算的整数均以补码出现。

3.按位异或运算

①概念

“按位异或”运算符“∧”是双目运算符,其功能是将参与运算两数的各对应位相异或,当两对应的二进位相异时,结果为1,否则为0。参与运算整数仍以补码出现。

②“异或”运算的特殊应用

ⅰ.使特定位翻转

ⅱ.与0相“异或”,保留原值。

ⅲ.交换两个值。

4.“取反”运算

“~”是一个一元运算符,即它的运算量只有一个,用来对一个二进制数按位取反,即将0变1,1变0。比如说,~025就是对八进制数25(即二进制数000000000010101)按位求反。

15.3 移位运算

1.移位运算符

移位运算是对操作数以二进制位为单位进行左移或右移,如表所示。

移位操作

运算符 名 称 例 子 运算功能

>> 右移位 b>>3 b右移3位

<< 左移位 c<<2 c左移2位

2.左移运算

左移运算符“<>”是双目运算符,其功能是把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。例如:

a=15,a>>2

表示把000001111右移为00000011(十进制3)。应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0;而为负数时,符号位为1,最高位是补0或1取决于编译系统的规定。Turbo C 规定补1。

右移运算相当于将运算对象除2.

15.4 位赋值运算

位赋值运算符如表所示。

位赋值运算符

运算符 名 称 例 子 等价于

&= 位与赋值 a&=b a=2&b

︳= 位或赋值 a|=b a=a|b

∧= 位异或赋值 a∧=b a=a∧b

>>= 右移赋值 a>>b a=a>>b

<<= 左移赋值 a<<=b a=a<

位赋值运算的过程为:

(1)先对两个操作数进行位操作;

(2)然后把结果赋予第一个操作数,因此第一个操作数必须是变量。

位赋值运算与算术赋值运算相似,它们都统称复合赋值运算。

展开阅读全文

c语言中常用符号,C语言中常用的符号.doc相关推荐

  1. C语言之(有关%d和%u的有关内容,输出方法)(有符号和无符号在内存中的存储情况)(整形无符号数和有符号数是如何进行计算的,整形无符号数和有符号数在循环中的应用举例)

    在C语言的课本中,我们常见的是%u,但我们平时在写代码常用的确是%d,它们二者之间有什么区别呢? 表示形式上 %u表示输入输出格式说明符,是按照unsigned int(无符号十进制数据)格式输入或输 ...

  2. [转载] python语言中表示赋值的符号是_Python 语言中 asterisk 符号用法小结

    参考链接: Python中的Inplace与标准运算符 点击上方"蓝字"关注我们 作者 | 孔令昌 编辑 | 张婵 对于 asterisk符号的使用,本文分为预定义(predefi ...

  3. c语言中如何用字母代替加减乘除的符号,c语言加减乘除代码

    c语言加减乘除代码 加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表.加法减法乘法除法求余数(取余) 数学+-×÷无 C语言+-*/% C语言中的加号.减 ...

  4. python语言的注释语句引导符不包括什么_以下选项中,哪一个是Python语言中代码注释使用的符号?________...

    [单选题]关于 Python 语句 P = –P,以下选项中描述正确的是________ [多选题]Python的数字类型包括( ) [多选题]Python中的注释符有哪几种?( ) [判断题]已知 ...

  5. 地图符号库的制作方法-s52符号显示库中的矢量符号描述语言

    在做电子海图系统时,大家免不了要去实现S52显示库. 通常地图符号的显示库通过如下几种方法实现: 1. 通过对TrueType符号的扩充: 2. 通过对arcgis中style的扩充: 3. 基于Mi ...

  6. c语言程序设计常用思维,C语言程序设计中计算思维的思考①

    王鑫 李万军 摘   要:计算思维是运用计算机科学的基础概念去求解问题.设计系统和理解人类的行为.本文归纳了计算思维在C语言程序设计中的体现,可归纳为抽象计算思维.自动化计算思维和并行计算思维三种.针 ...

  7. c语言中类似于大括号的符号,大括号符号 c语言大括号的用法

    大括号{}出现在shell脚本的各个角落,其用法也各有不同.同音多义字在汉语中最容易让人混淆,而大括号也正是bash语言中的"同音多义字".下面小编就为大家介绍c语言大括号的用法. ...

  8. c语言中字符表,C语言指令表与符号表

    <C语言指令表与符号表>由会员分享,可在线阅读,更多相关<C语言指令表与符号表(6页珍藏版)>请在人人文库网上搜索. 1.C语言指令表与符号表编译指令编译指令说明#includ ...

  9. 火龙果(redpitaya)开发板常用接口C语言开发指南(九)——产生信号脉冲(持续更新中)

    火龙果(redpitaya)开发板常用接口C语言开发指南(九)--产生信号脉冲(持续更新中) --本人为<火龙果实战指南--搭建基于Zynq处理器的测量仪器与创新实践平台>一书的作者之一, ...

  10. 组态中常用c语言代码,工业组态软件中CFC语言的设计实现及语言转换的研究

    摘要: 近年来随着IEC61131-3国际标准的正式公布与推广,基于此标准的工业自动化领域的组态软件,经过不断完善已日趋成熟并获得了广泛的应用组态软件作为DCS PLC SCADA等控制系统的上位机软 ...

最新文章

  1. matlab文件启动位置,matlab中uigetfile()设置默认路径
  2. AR2220 通过cpu-defend policy处理大量大量arp广播的小技巧
  3. 事务管理基础:数据库的并发控制相关知识笔记
  4. 20190520算法题存档
  5. zend studio mysql 配置_php 在Zend Framework中配置数据库参数
  6. jQuery过滤选择器 通过过滤条件选取需要的元素
  7. mmdetection的使用
  8. centos7安装wget
  9. Hyper-V固定虚拟机IP
  10. SAP Hybris企业培训
  11. Landsat卫星数据标识
  12. [gdc13]dx11效率优化
  13. svn: E170013: Unable to connect to a repository at URL ...
  14. 云呐|什么是固定资产条码管理系统?资产条码化管理
  15. UDK官方视频教程带中文字幕虚幻引擎UDK(16章全) ㍿
  16. LuBan鲁班图片压缩工具
  17. yii rules最全规则
  18. CLOC代码统计工具的使用
  19. 【计算机科学基础】翻译、编译、解释、汇编
  20. 重新开始学习编程系列Day10——超全的MySQL核心原理,从底层剖析MySQL

热门文章

  1. TAOCP-1.2.10_求极大值
  2. Web之CSS开发技巧: CSS @media
  3. springmvc5源码
  4. 1.2低级线程处理API
  5. webpack——快速入门【一】
  6. 视觉里程计07 Qt的一些bug修改记录
  7. bootstrap-datepicker 开始时间-结束时间 thinkphp
  8. 如何在C++中产生随机数
  9. 技能树 Web前端/php/JavaWeb/数据库
  10. webApp 开发技术要点总结