我有两个变量a和b,声明和赋值如下:
UInt64 a = (UInt64)4294967295 * 3;
UInt64 b = 4294967295 * 3;
当我打印它们时,a包含 12884901885 b包含4294967295。
为什么我必须用UInt64铸造数字才能存储这么大的值?
谢谢
您需要将"ULL"(又名无符号长整型(附加到常量中,以指示它应被视为64位值。
UInt64 b = 4294967295ULL * 3;