首页 > 文章列表 > C语言中的位移操作是什么?

C语言中的位移操作是什么?

位移操作
477 2023-09-02

问题

用C语言显示一个数的左移、右移、补码的简单程序是什么?

解决方案

< h3>左移

如果一个变量的值左移一次,那么它的值就会加倍。

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

C语言中的位移操作是什么?

右移

如果一个变量的值右移一次,那么它的值就变成原来值的一半。

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

C语言中的位移操作是什么?

示例

以下是用于移位操作的 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