为什么 UInt64 变量不能包含大于 UInt32::Max 的值?



我有两个变量ab,声明和赋值如下:

UInt64 a = (UInt64)4294967295 * 3;
UInt64 b = 4294967295 * 3;

当我打印它们时,a包含 12884901885 b包含4294967295。

为什么我必须用UInt64铸造数字才能存储这么大的值?

谢谢

您需要将"ULL"(又名无符号长整型(附加到常量中,以指示它应被视为64位值。

UInt64 b = 4294967295ULL * 3;

相关内容

  • 没有找到相关文章

最新更新