繁体   English   中英

虚幻引擎“FParse::HexNumber”是如何工作的?

[英]Unreal Engine “FParse::HexNumber” How is it working?

(0x8877665544332211 >> 8 & 0xffff)

我正在尝试将此操作转换为十六进制,但我没有成功。

我不能使用 FParse::HexNumber。

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Core/Misc/FParse/HexNumber64/

有没有人尝试过或可以提供帮助?

#include <iostream>
#include <sstream>
 
int main()
{
    int i = (0x8877665544332211 >> 8 & 0xffff);
 
    std::ostringstream ss;
    ss << std::hex << i;
    std::string result = ss.str();
 
    std::cout << result << std::endl;        // 0x3322
 
    return 0;
}

我在标准 c++ 中编写了这段代码,我无法在虚幻引擎上运行它。 我不明白 FParse::HexNumber 是如何工作的

让我们从0x8877665544332211 >> 8开始。 一个十六进制数字代表 4 位,所以 8 位是两个十六进制数字。 >>表示右移,所以这个值计算为0x88776655443322

这给了我们: 0x88776655443322 & 0xffff 如上所述,一个十六进制数字是 4 位。 0xf 表示所有四个位都已设置。 所以,0xffff 是 16 位,全部设置。 对于某些位xx & 1 = x ,因此这转化为保留左操作数的 16 个最低有效位,即: 0x3322

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM