一、位运算符C语言提供了六种位运算符:

& 按位与

| 按位或

^ 按位异或

~ 取反

<< 左移

>> 右移

用法:

1.按位与运算符 &

按位与运算符是双目运算符,其功能是将参与运算的两操作数各自对应的二进制为进行于操作。只有对应的两个二进制位均为1 是,结果对应的二进制位才为 1,否则为0.例如:表达式“21&18”的计算结果是16(即二进制数10000),因为:

21用二进制表示就是:0000 0000 0000 0000 0000 0000 0001 0101

18用二进制表示就是:0000 0000 0000 0000 0000 0000 0001 0010

按位与所得结果是: 0000 0000 0000 0000 0000 0000 0001 0000(21和18左起第五位都是1,对应出结果 1)

与上述方法类似可得出 | 和^ 的结论,即:

2.按位或运算符“|”是双目运算符。其功能是将参与运算的两操作数各自对应的二进制位进行或操作。只有对应的两个二进制都是0 是,结果对应的二进制位才是0,否则为1.例如表达式“21|18”的值是23(即二进制数10111)。

3.按位异或运算符“^”是双目运算符。其功能是将参与运算的两操作数各自对应的二进制为进行异或操作。只有对应的两个二进制位不相同是,结果对应的二进制唯才是1,否则为0.例如表达式“21^18”的值是7(即二进制数111).

4.按位非运算符~是单目运算符。其功能是将操作数中的二进制位0变成1,1变成0.例如,表达式“~21”的值是无符号整型数0xffffffea(十六进制)。

5. 左移运算 左移运算符“<

高位丢弃,低位补0。例如: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。

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

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

例子

void 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);

}”

c语言中大于号什么意思和作用,程序员必须要使用的大于号,小于号你知道几个?教你轻松入门C语言...相关推荐

  1. c语言中左移和乘法谁高级,C程序员说使用移位运算代替乘法和除法更有效,是真的吗?...

    在C语言程序开发中,某些移位操作似乎达到与乘法和除法运算相同的效果. 例如,4 >> 1等于2,向右移一位等于2除. 类似地,2 << 1等于4,向左移一位等于2. 因此,一些 ...

  2. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)

    1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...

  3. c语言中各个符号的意义及作用是什么,C语言特殊符号意义

    初学者可以来学学,包教包会 C语言中像%D &%f符号的作用说一下 最佳答案 C语言中的符号 运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算.包括加(+).减(- ...

  4. C语言中双下划线__的作用

    C语言中双下划线__的作用 以单下划线(_)表明是标准库的变量 双下划线(__) 开头表明是编译器的变量 所以 双下划线__只是C语言的一个合法标识符 不一定是变量, 也可以是函数,宏等. 同时双下划 ...

  5. C语言中位运算异或“∧”的作用

    前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 1.概念 异或运算符"∧"也称XOR运算符.它的规则是 ...

  6. c语言运算符类型转换,C语言中强制类型转换运算符的独特作用

    C语言中强制类型转换运算符的独特作用 在C语言中有一个强制类型转换运算符,它为C语言中的数据类型转换带来 (本文共2页) 阅读全文>> 在进行C++类的设计时,我们常常需要为类对象设计运算 ...

  7. 中国都有哪些顶级优秀的程序员?

    中国都有哪些顶级优秀的程序员? 91.com移动互联网第一平台时间:2017-05-27[网站合作]快速评论关注91 相关搜索: 科学家第二次警告 小海绵正面照曝光 红通张靖川投案 3名男子香港遇袭 ...

  8. c语言中定义结构体指针的作用,C语言结构体定义,使用及指针(1)

    前言 C语言中的结构体作为一大难点,并且对于需要学习数据结构的同学来说,这个结构是每次上课都会遇到的,所以,我们只有更深层次的理解结构体的知识,才能更好的掌握数据结构 结构体用处 结构体到底有什么用? ...

  9. c语言---c语言中的斐波那契数列程序

    首先就要先了解何为斐波那契数列---斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故 ...

  10. 3的n次方在c语言中如何表示真和假,C程序作业答案

    什么是程序及程序设计 程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.为实现预期目的而进行 操作的一系列语句和指令.一般分为系统程序和应用程序两大类.程序设计( ...

最新文章

  1. C++之Boost使用
  2. 车联网空间巨大 解决网络安全问题乃当务之急
  3. 【00】设计模式概要
  4. 论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing
  5. 解决OracleDBConsoleorcl不能启动【转】
  6. mysql死锁影响_MySQL死锁系列-常见加锁场景分析
  7. Flutter之Center
  8. 我的20132014
  9. stl list 删除元素_删除所有出现的元素,并从列表中删除一些特定的元素。 C ++ STL...
  10. C#操作DOS命令,并获取处理返回值
  11. (转)使用Spring配置文件实现AOP
  12. 【OpenCV】视频/图像背景减除方法
  13. 在Eclipse里面引入dtd文件
  14. 有3个学生3门功课成绩s={‘Teddy‘:[100,90,90], ‘Sandy‘:[98,91,80],‘Elmo‘:[90,90,83]} 要求输出每个学生的姓名,平均成绩(结果保留1位小
  15. 【对象存储】关于阿里云OSS踩坑记录
  16. jQuery插件autoComplete介绍(10级学员 张帅鹏总结)
  17. 高速公路ETC卡签之我见8-OBU发行
  18. 信息时代的智慧——兼谈科普转发
  19. 学习3D游戏建模,有哪些建模软件可以选择?
  20. java毕业设计热门股票推荐系统源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. KEIL MDK中的RO、RW和ZI DATA理解及KEIL中ROM和RAM使用大小计算
  2. Python 发出警报声音 简单播放声音 beep 在linux 上
  3. OD脱壳-再次载入-软件无法找到入口
  4. 懂的都懂,那些好用的“WEB安全”网站
  5. 【UU主机加速】PC无线热点直接加速switch(无需路由器)
  6. TIBCO Rendezvous
  7. Minimum Class Confusion for Versatile Domain Adaptation
  8. U盘中Word文档打不开怎么办?
  9. BugKu-CTF(杂项misc)--YST的小游戏/easy_python
  10. 【2020年高被引学者】 陶哲轩 加州大学洛杉矶分校