gpt4 book ai didi

objective-c - 平方值时的错误结果

转载 作者:行者123 更新时间:2023-11-28 17:59:44 24 4
gpt4 key购买 nike

为了使按钮与 mainLabel 的值成正方形,我正在使用

- (IBAction)squarePressed:(id)sender
{

NSString *mainLabelString = mainLabel.text;

int mainLabelValue = [mainLabelString intValue];

NSString *calculatedValue = [NSString stringWithFormat: @"%d", mainLabelValue*mainLabelValue];

mainLabel.text = calculatedValue;

}

没有显示错误,并且它适用于小数字,
例如,对 720 求平方的结果是正确的,即 518400,但如果我尝试对该数字求平方,而不是 268738560000,我得到 -1844379648。
为什么会这样?

最佳答案

int 是一个带符号的 32 位数字。

518400 平方的结果不适合 32 位,因此计算溢出,这就是为什么您会看到很大的负值。

尝试使用 long,它是 64 位的,应该足以满足该数字:

long mainLabelValue = [mainLabelString longLongValue];

关于objective-c - 平方值时的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658917/

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