swgcc710整型越界后处理结果与x86不一致是什么原因?
编译器工具链
772 人阅读
|
2 人回复
|
2021-04-06
|
#include <stdio.h>
int main()
{
long aa =(long)0x7FFFFFFFFFFFFFFF;
long bb = 0;
bb = (long)(aa*(double)10);
printf("aa=%ld,bb=%ld\n",aa,bb);
return 0;
}
申威:aa=9223372036854775807, bb=0
x86:aa=9223372036854775807, bb=-9223372036854775808 |
|
|
|
|
|
|
zbrj
发表于 2021-4-6 15:17:25
|
显示全部楼层
各个架构出现的情况都不同,aarch64 x86 申威结果都不同,应该不是问题 |
|
|
|
|
|
|
TecSupport
发表于 2021-4-8 09:28:05
|
显示全部楼层
一楼说的是对的,申威平台、x86平台、龙芯平台、飞腾平台针对这个问题,处理结果都不一样,我们之前已经验证过,您也可以自己验证一下 |
|
|
|
|
|