java - 右移零填充运算符 >>> 在 Java : porting to C++

标签 java c++ porting logical-operators

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

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

如何用 C++ 编写相同的内容?

字节,在 C++ 中不存在,我定义为:

typedef unsigned char byte;

最佳答案

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

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

关于java - 右移零填充运算符 >>> 在 Java : porting to C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117616/

相关文章:

java - 在 android 中为 fragment 创建 "Shell"

c++ - 传递带有args的函数并将值返回给另一个函数

c++ - 在Cmake中构建Assimp时出错

nlog - 使用自定义目标将所有 NLog 输出重定向到 Serilog

关于静态的Java问题

java - 检测要在 JAVA 中插入/删除的 PKCS#11 token

c++ - QtCreator : No valid kits found

windows - 在 windows/linux 中打开文件时注释混淆

c - Win32 到 Win64 移植编译问题

java - 创建自定义注释来处理异常