C 语言中的移位运算是什么?


问题

用 C 语言编写一个简单的程序来显示一个数字的左移、右移和补码。

解决方案

左移

如果将变量值左移一次,则其值会加倍。

例如,a = 10,则 a<<1 = 20

右移

如果将变量值右移一次,则其值变为原值的二分之一。

例如,a = 10,则 a>>1 = 5

示例

以下是进行移位运算的 C 程序 −

 在线演示

#include<stdio.h>
main (){
   int a=9;
   printf("Rightshift of a = %d
",a>>1);//4//    printf("Leftshift of a = %d
",a<<1);//18//    printf("Compliment of a = %d
",~a);//-[9+1]//    printf("Rightshift by 2 of a = %d
",a>>2);//2//    printf("Leftshift by 2 of a = %d
",a<<2);//36// }

输出

当执行上述程序时,它会产生以下结果 −

Rightshift of a = 4
Leftshift of a = 18
Compliment of a = -10
Rightshift by 2 of a = 2
Leftshift by 2 of a = 36

更新于: 2021-03-08

795 次观看

开启您的 职业生涯

完成课程,获得认证

开始
广告