Ste*_*non 27
在C中,为了获得无符号移位,您只需对无符号类型进行移位.
unsigned int result = (unsigned int)valueToBeShifted >> shiftAmount;
Run Code Online (Sandbox Code Playgroud)
请注意,无法保证>>
在签名类型上为您提供C中的签名转换 - 这是实现定义的行为.但是,如果类型已签名,则最常见的实现会生成带符号的移位.
Joh*_*ler 17
>>>
是无符号的右移,所以我认为在C中这将是相同的
unsigned int foo;
unsigned int bar = foo >> whatever;
Run Code Online (Sandbox Code Playgroud)