c++里面 的一个负数如果太小, 超出范围, 就变成 -1.0 了吗?解决思路
c++里面 的一个负数如果太小, 超出范围, 就变成 -1.0 了吗?
c++里面 的一个负数如果太小, 超出范围, 就变成 -1.0 了吗?
因为我使用一个函数, 不知道数据是什么类型, 估计是float 型, 我给它赋值很小: -100000000
然后输出一个 -1.0 按道理应该输出 -100000000
为何?
------解决方案--------------------
溢出之后就变成-1的。。。
------解决方案--------------------
------解决方案--------------------
只能是溢出
#2楼最近在搞什么,很少见你回帖了
------解决方案--------------------
------解决方案--------------------
溢出了应该是负无穷大,怎么可能是-1...
------解决方案--------------------
溢出后就从正数的最大开始循环,比如比允放最小值小1变成允许最大值,小2变成最大值减1
不仅仅负数,正数太大也溢出。
楼主可以去自己做试验,int a=-2147483649,再输出a的值:cout<<a;
你就会发现规律了,如果想输入大一点的数,你用double吧
------解决方案--------------------
常量也有类型。
c++里面 的一个负数如果太小, 超出范围, 就变成 -1.0 了吗?
因为我使用一个函数, 不知道数据是什么类型, 估计是float 型, 我给它赋值很小: -100000000
然后输出一个 -1.0 按道理应该输出 -100000000
为何?
------解决方案--------------------
溢出之后就变成-1的。。。
------解决方案--------------------
------解决方案--------------------
只能是溢出
#2楼最近在搞什么,很少见你回帖了
------解决方案--------------------
------解决方案--------------------
溢出了应该是负无穷大,怎么可能是-1...
------解决方案--------------------
溢出后就从正数的最大开始循环,比如比允放最小值小1变成允许最大值,小2变成最大值减1
不仅仅负数,正数太大也溢出。
楼主可以去自己做试验,int a=-2147483649,再输出a的值:cout<<a;
你就会发现规律了,如果想输入大一点的数,你用double吧
------解决方案--------------------
常量也有类型。