如何设置int64的较低或较高值
How to set the lower or higher Value of a int64?
我知道我可以用获得int 64的更高值
int32 higher = (int32)(iGUID >> 32);
但是我该怎么设置呢?
我试过这个,但它说"表达式必须是一个可修改的值":
iGUID << 32 = inewlGUID;
我需要保留另一个值(如果我设置的值越高,则应保留的值越低(。
更改高32位,同时保持低32位不变:
iGUID = (iGUID & 0xFFFFFFFF) | (inewlGUID << 32);
iGUID = (static_cast<int64>(inewlGUID) << 32) | (iGUID & 0xffffffff);
这将保留任何现有内容。
您也可以获取64位值的地址,并将其强制转换为指向int32
的指针,然后对其进行下标和赋值。不过,通常不建议使用,因为这会使代码取决于平台的字节顺序。
相关文章:
- 输入较高值时的分段代码
- 较高值 n 的分割错误(例如 n=999997)
- 在 C++11 及更高版本中,有没有办法初始化初始值设定项列表中的向量?
- 为什么我的代码会导致高返回值?C++
- std ::向量距离函数如何给出比.size()更高的值
- 在 c++ 中设置 int64 值的最高四位
- 如何使用int16_t值的低字节和高字节?
- 为什么int x = 01234给出x为668的外高值
- C++递归函数,使用高和低查找数组中的最小值
- 初始化C/C 种子具有较小的值和更高的种子时的随机性
- 少量数据包导致高RTT值
- 高斯滤波器核值
- 在我的Matrix4类中使用某些用户定义的运算符的操作正在返回高值的高值
- Qt 隐式共享类 - 调用函数传递并按值返回的成本很高
- 为什么同时使用一个赋值运算符处理复制和移动赋值效率不高
- 计数变量具有较高的初始值
- 当输入为高值时程序崩溃
- c++方法有时会返回意外的高值
- 欧拉#8项目,我不知道为什么我的代码给出了荒谬的高值
- 如何设置int64的较低或较高值