我最近看到了许多类似的代码示例
1 << 20
Run Code Online (Sandbox Code Playgroud)
虽然我知道这个运算符可以用于整数,但我不确定它的作用,我尝试做的每一个谷歌搜索都会返回关于cout <<
整数运算但没什么的东西.有人能告诉我这个运算符对整数的作用吗?
Pra*_*rav 11
<<
是明智的左移操作员
C++ 03 [ 5.8/2
]
E1 << E2的值是E1(解释为位模式)左移E2位位置; 空位是零填充的.如果E1具有无符号类型,则结果的值为E1乘以上升到功率E2的数量2,如果E1的类型为无符号长,则减少模ULONG_MAX + 1,否则为UINT_MAX + 1.[注意:标题中定义了常量ULONG_MAX和UINT_MAX).]
此外,在表达式E1 << E2
if中E1
具有有符号类型和负值时,行为是未定义的.
这意味着-1 << 4
调用UB.
归档时间: |
|
查看次数: |
146 次 |
最近记录: |