gpt4 book ai didi

c++ - unsigned long long 算术

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:30 25 4
gpt4 key购买 nike

我想将两个无符号整数相乘,但我希望结果在unsigned long long变量中

unsigned long long M;
unsigned int X;
unsigned int Y;

X = 999999;
Y = 9990;
M = X * Y;

M 应该是 9989990010 但由于某种原因它一直是 1400055418

我已经为此烦恼了一个星期了,我想我已经到了想哭的地步了!

最佳答案

您需要将 XY 转换为 long long

M = (unsigned long long)X * Y;

足以类型转换其中之一,结果将基于较大的类型。

否则结果将是int,因此会溢出。它将在赋值时转换为 long long,但为时已晚:-)

关于c++ - unsigned long long 算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160935/

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