c 移位运算符,c语言的位移运算符

  c 移位运算符,c语言的位移运算符

  Yyds干货库存

  大家好,我是李泽。希望看完之后能帮到你。如有不足请指正!一起学习交流。

  2021博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~ ~阿里云专家博主明星博主~掘金InfoQ ~ P Creator ~周榜92(总榜886) 35w全网访问量

  本文原载于P,作者Yuze。如需转载请告知。

  个人主页51Ctop P博客

  欢迎喜欢你喜欢的留言。

  系列专栏51Ctop _ 博客的分类

  我们不在自己选择的舞台上,表演也不是自己选择的剧本。

  算术加法运算符(“”)也叫双目运算符,即应该有两个变量参与运算,有正确的组合。描述:添加两个操作数。#包含stdio.h

  int main(void){

  printf(阿拉伯数字=%d ,1 1);

  返回0;

  }

  Run:阿拉伯数字=2

  减法算子(-)也叫双目算子,但-也可以是负算子,这种情况下就是单目算子。描述:从第一个操作数中减去第二个操作数。#包含stdio.h

  int main(void){

  printf(阿拉伯数字=%d ,1-1);

  返回0;

  }

  Run:阿拉伯数字=0

  乘法运算符( * ),又称双目运算符,有左合取。描述:将两个操作数相乘。#包含stdio.h

  int main(void){

  printf(阿拉伯数字=%d\n ,2 * 2);

  返回0;

  }

  注意:在数学中,乘法(x)在我们的编程中是星号(*)。

  Run:阿拉伯数字=4

  除法运算符(/),也称为双目运算符,具有左连词。当所有涉及的运算都是整数时,结果也是整数,小数去掉。如果其中一个操作数是实数,则结果是双精度实数。描述:分子除以分母。注意:数学中用的是除法(),但我们编程中用的是斜线(/)。

  用下面的代码演示:除法演示。

  #定义

  #包含stdio.h

  int main(void){

  int a=10

  int a1=10

  int b=3;

  float b1=3.0

  int c=a/b;

  float C1=a/B1;

  printf(Take integer=%d\n ,c);

  printf(Take decimal=%lf\n ,C1);

  返回0;

  }

  以上代码编译结果:

  模运算符( % )的说明:分子除以分母,例如:8%3=2注意:模运算符只能对整数求模,不能对小数求模。

  模算符练习:计算100~200能被2整除的数并打印出来,按计数打印出总数。代码如下所示:

  #包含stdio.h

  int main(void){

  int I;

  int Count=0;

  for(I=100;i=200我)

  如果(i % 2==0)

  printf(%d ,I);

  数数;

  printf(\nCount=%d\n ,计数);

  返回0;

  }

  以上代码编译结果:

  移位运算符二进制左移位运算符(“”)将操作数的所有二进制位向左移位若干位(左边的位被丢弃,右边的位用0填充)。注意:高位被丢弃,低位用0填充。二进制右移运算符(“”)将一个数的所有二进制位向右移动几位。正数左为0,负数左为1,右为弃。算术右移补最高位,逻辑右移补全零。注意:我们一般用算术右移的方法!注意:舍弃低位,高位填0“正数填0,负数填1”(左移):舍弃最高位,最低位填0。

  (向右移动)如下

  1.无符号数:最低位被丢弃,最高位用0填充。

  2.有符号数:最低位被丢弃,最高位与有符号位互补。()

  注意:取决于数据类型

  例如,A=2,A=1,得到的数字是:4

  0000000000000000000000000000000000000000000000000000000例如,A=2,A 1,得到的数是:1

  0000000000000000000000000000000000000000000000000000000000000000001注意:按位移动时,我们要移动正常位数,不能移动100位,这样会出大问题。

  :对于移位运算符,不要移动负数,这在标准中是没有定义的。

  例如int num=2;

  num-5;//错误

  按位运算符按位AND运算符(“”)双目运算符。它的作用是参与运算的两个数的二进制相位,只有对应的两个二进制数为1时,结果位为1,否则为0。运算中涉及的数以补数的形式出现。操作规则

  0 0=0;

  0 1=0;

  1 0=0;

  1 1=1;

  例如:9 5,代码如下:

  #包含stdio.h

  int main(void){

  int a=9;//00001001 - 9

  int b=5;//00000101 - 5

  int c=a b;//00000001 - 1

  printf(number=%d\n ,c);

  返回0;

  }

  Run: number=1按位OR运算符( )双目运算符。它的功能是运算中涉及的两个数的二进制相或。只要相应的二进制位之一为1,结果位就是1。运算中涉及的两个数都是补数。操作规则

  00=0;

  01=1;

  10=1;

  11=1;

  例如:9 5,代码如下:

  #包含stdio.h

  int main(void){

  int a=9;//00001001 - 9

  int b=5;//00000101 - 5

  int c=a b;//00001100 - 12

  printf(number=%d\n ,c);

  返回0;

  }

  Run: number=1按位XOR运算符(“”)参与两个值的运算。如果两个对应的位相同,则结果为0,否则为1。对于同一个0,一个数与0的异或等价于它自己的数。操作规则

  0^0=0;

  0^1=1;

  1^0=1;

  1^1=0;

  比如a=9和b=5的值互换,不能为互换创建变量!代码如下:

  #包含stdio.h

  int main(void){

  int a=9;

  int b=5;

  Printf(交换前:a=%d b=%d\n ,a,b);

  a=a ^ b;//1001 ^ 0101=1100 (12)

  b=a ^ b;//1100 ^ 0101=1001 (9)

  a=a ^ b;//1100 ^ 1001=0101 (5)

  Printf(交换后:a=%d b=%d\n ,a,b);

  返回0;

  }

  从上面的代码我们可以知道,bitwise XOR()可以在不创建临时变量的情况下交换两个数的值。

  运行:交换前:a=9 b=5换行符a=5 b=9注意:所有位运算符必须是整数!

  Yuze 51Ctop,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: