我正在做一个移植到c ++的java代码,我有一些带有shift的逻辑指令:
((byte) ((buffer >>> 8) & 0xFF));
如何在C ++中编写相同内容?
字节,在c ++中本身不存在,我定义为:
typedef unsigned char byte;
答案 0 :(得分:5)
对于无符号整数类型,>>
将填充零位,就像Java >>>
那样。
注意:对于具有负值的签名类型,结果是实现定义的,因此最好避免这种情况,而不是像Java >>
那样依赖它填充。