gpt4 book ai didi

c++ - 如何在 VS2008 中指定 64 位 unsigned int const 0x8000000000000000?

转载 作者:IT老高 更新时间:2023-10-28 13:03:13 28 4
gpt4 key购买 nike

我读到了 Microsoft 特定的整数常量后缀“i64”。我想做一个无符号转换到一个 ULONGLONG。
ULONGLONG bigNum64 =​​ 0x800000000000000i64 >> myval;

在普通的 C 语言中,我会使用后缀“U”,例如类似的 32 位操作将是
ULONG bigNum32 = 0x80000000U >> myval;

我不希望 2 的补码扩展通过高位传播。我想要一个 64 位常量数的无符号移位。我认为我的第一个语句将进行 SIGNED 右移。

我尝试了 0x800000000000000i64U0x800000000000000u64 但出现编译器错误。

最佳答案

您可以使用后缀 ull,这是标准(C99 和 C++0x)方式来指定 unsigned long long 整数文字和 long long 至少为 64 位。

关于c++ - 如何在 VS2008 中指定 64 位 unsigned int const 0x8000000000000000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2835746/

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