C语言的位运算???这是个什么鬼,哈哈,犹记得我第一次见到C语言的位运算符的时候还以为这是C++程序的输入输出流呢,结果后头才晓得这两货除了在C++里面有表示输入输出流还有位运算的意思。
一、什么是位运算?
说道位运算就不得不提到一个概念就是计算机的一切一切都是基于0和1。例如:一个十进制数24它的二进制数就是11000(不会二进制的小伙伴可以先去学习了解一下进制转换)。11000在存储的时候就是这样存储的
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
---|
如果现在我们现在有如下程序
#include <stdio.h>
int main()
{
int a=24,c;
c=24<<2;
printf("%d",c);
return 0;
}
那么请问c等于多少呢?很简单,其实就是将上面的11000向左移动两位移动成下面这个样子。
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
---|
那么这个数的值就应该是16+15=96。
位运算的结构如下所示,被移动的数可以是二进制、八进制、十进制、十六进制;位运算符有两种,左和右;移动位数的数字必须是十进制最大可以填好多我还真没试过,感兴趣的话可以自己试试哦。
在这里示范了做运算符的运行留下右运算符大家可以去试试是否如我所说,如果文中有错误恳请指正,感谢!!!