gpt4 book ai didi

c++ - 将 uint64 转换为 uint32

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:40 24 4
gpt4 key购买 nike

我有一个 uint64 变量...但是我想传递它的函数只接受 uint32。

我尝试使用 static unsigned int ToUInt32(uint64 variable); 引用 MSDN,但它给出了精度丢失的错误。

有什么方法可以在不丢失任何数据的情况下将 uint64 转换为 uint32 吗?

最佳答案

好好想想你想做什么。您正在使用一个可能占用多达 64 位的数字,然后将其减半。在这种情况下,您当然会丢失数据。

如果你确定给出的数字不会大于 uint32 那么你可以试试这个

uint64 largeNumber = 9876543210;
uint32 smallNumber = largeNumber & 0xFFFFFFFF;

但是如果它大于 32 位,这将丢失你一半的数字。

关于c++ - 将 uint64 转换为 uint32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4918386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com