C++中 int a=1<<30 ;是什么意思?
int a=1<<30;
这行代码是在 C++ 中使用位运算符对整数进行左移操作。其中,1 是一个整数常量,<< 是位运算符,表示左移操作。在这里,1 左移 30 位,相当于将二进制数 00000000000000000000000000000001(共 32 位)左移 30 位,得到的结果是 01000000000000000000000000000000(共 32 位)。最后,将这个二进制数转换为十进制,即为 1073741824。
因此,这行代码的含义是将整数变量 a 赋值为十进制数 1073741824,即 2 的 30 次方。在计算机中,左移操作可以用来进行快速的乘法和除法运算,因为将一个二进制数左移一位相当于将这个数乘以 2,而将一个二进制数右移一位相当于将这个数除以 2。