还有为什么不能
```
unsigned long long a=1<<44;//输出4096
```
只能
```
unsigned long long a=1;
a<<=44;
```
by 天权3940 @ 2020-10-13 18:09:15
@[天权3940](/user/228883) 1是int型的,1<<44是把32位的int左移44位,溢出了,实际含义为1<<12(44-32=12),所以输出4096
你改成这样:
```cpp
unsigned long long a=1llu<<44;
```
by WanderingTrader @ 2020-10-13 18:10:07
@[zycany](/user/270791) 谢谢大佬
那为什么我的代码会MLE呢qaq
by 天权3940 @ 2020-10-14 18:04:03