我有UINT64变量。首先,它被初始化为0xF。现在,我希望根据某些输入在运行时进行更改。它的值将在运行时增加。但是我想要的是它应该从F更改为FF,从FF更改为FFF,应该在其后附加一个F。

现在这是我的代码。

UINT64 mapFileSize = 0xF;
while (mapFileSize < someUserInput)
    // add one F to mapFileSize;

我应该在那里写什么。我正在尝试左移运算符,但是它不能正常工作。
mapFileSize <<= 1;

我正在这样做,但这并不能给我想要的结果。

最佳答案

一种更简洁的方法:

mapFileSize |= (mapFileSize << 4);

或者,如果您不能保证原始值始终以0xf结尾:
mapFileSize = (mapFileSize << 4) | 0x0f;

09-25 22:01