草庐IT

x8000000000000000

全部标签

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

我读到了Microsoft特定的整数常量后缀“i64”。我想做一个无符号转换到一个ULONGLONG。ULONGLONGbigNum64=​​0x800000000000000i64>>myval;在普通的C语言中,我会使用后缀“U”,例如类似的32位操作将是ULONGbigNum32=0x80000000U>>myval;我不希望2的补码扩展通过高位传播。我想要一个64位常量数的无符号移位。我认为我的第一个语句将进行SIGNED右移。我尝试了0x800000000000000i64U和0x800000000000000u64但出现编译器错误。 最佳答案