c语言移位运算符与运算用法,c语言中的位移动运算符用法

  c语言移位运算符与运算用法,c语言中的位移动运算符用法

  运算符和运算符的作用是求整数中所有位左移或右移后产生的值。

  运算符

  有

  将A向左移动B位。右边的空位用0填充。

  运算符

  有

  将A向右移动b位。

  注意:这些运算符的操作数必须是整数数据类型或枚举类型。

  #包含stdio.h

  int count_bits(无符号x){

  int count=0;

  while(x) {

  如果(x 1U) {

  数数;

  }

  x=1;

  }

  返回计数;

  }

  int int_bits(void){

  返回count _ bits(~ 0U);

  }

  void print_bits(无符号x){

  int I;

  for(I=int _ bits()-1;I=0;我- ){

  putchar((x I)1U)?1 : 0);

  }

  }

  int main(void){

  无符号num1,n;

  Printf(非负整数:);

  scanf(%u ,num 1);

  Printf(位移位数:);

  scanf(%u ,n);

  printf( \ n整数转换为二进制=);

  打印位(num 1);

  printf( \ n整数的左移值=);

  print _ bits(num 1n);

  printf( \ n右移的整数值=);

  print _ bits(num 1n);

  putchar( \ n );

  返回0;

  }运行结果:

  Count_bits函数:函数是计算参数X接收的无符号整数中值为1的二进制位的个数,并返回其个数。

  1U(只有低位为1的无符号整数)和x的逻辑与运算决定了x的低位是否为1。如果低位为1,则位数递增。Int_bits函数:返回Int和unsigned类型的位数。

  ~0U是所有位都为1的无符号整数(通过反转所有位都为0的无符号整数0U获得)。Print_bits函数:显示从高位到带1和0的无符号整数位置的所有位的函数。

  函数print_bits是其中无符号整数x的所有位由0和1表示的函数。函数int_bits和count_bits用于执行这项工作。总结:

  使用运算符向左移动。

  表达式x n会将x的所有位左移n位,右边的空位(低位)会加零。二进制的每一位都是2的指数幂,所以如果左移一位,只要不发生数据溢出,数值就会翻倍。使用运算符向右移动。

  表达式x ^ n会将x的所有位向右移动n位。二进制数右移1位后,值将是原来值的一半。当有符号整数的复数为x时,置换运算的结果因编译器而异。在许多编译器中,执行逻辑位移或算术位移。注意:虽然负数可以移位,但是用负数来移位一个数是不标准的,所以最好不要移位负数。

  转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行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算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: