用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