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
广告
数据结构
网络工程
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP