河岸柳 发表于 2021-7-27 08:39:10

新手求助

求助
111111*111111的结果是-539247567,为什么会溢出到负值?

sqrt(-10)的值是0?

1.0/0.0,0.0/0.0,1/0的值都是0?

大马强 发表于 2021-7-27 08:39:11

本帖最后由 大马强 于 2021-7-27 10:39 编辑

1.除了int型,你用这个输出格式
printf("%.f",xxx);
xxx不能直接写成 111111*111111
2.sqrt只支持double和float类型
3.同1
可以参考这里格式化输出

自始而终 发表于 2021-7-27 08:51:17

你得告诉大伙你定义的什么变量啊
第一条应该是溢出了,但不知道你的变量的数据类型
第二条sqrt的参数类型得是一个double型的
第三条同第一条不知道你所给的数据类型

李姐万岁 发表于 2021-7-27 11:55:14

在有符号的二进制中,最高位如果是0表示是正数,如果是1表示是负数。
页: [1]
查看完整版本: 新手求助