右移零填充运算符>>>在Java中:移植到C ++

时间:2014-09-30 09:42:10

标签: java c++ porting logical-operators

我正在做一个移植到c ++的java代码,我有一些带有shift的逻辑指令:

 ((byte) ((buffer >>> 8) & 0xFF));

如何在C ++中编写相同内容?

字节,在c ++中本身不存在,我定义为:

typedef unsigned char byte;

1 个答案:

答案 0 :(得分:5)

对于无符号整数类型,>>将填充零位,就像Java >>>那样。

注意:对于具有负值的签名类型,结果是实现定义的,因此最好避免这种情况,而不是像Java >>那样依赖它填充。