如何编程验证C语言中整型,浮点,双精度数据可表示数值的范围及精度?
展开全部
这个问题挺有意思的阿:
1、先考虑整数,最简单了,最大值就是把-1转换为无符号数;
2、非整型数:如果不考虑任何其它技巧,仅考虑算法的话,那么可以这样子做:
从给定的初始值,循环迭代,每次倍增(比如N倍,N=10,Num
+=
Num
*
N);
考虑到这个类型的变量的存储总是有限的,一定会出现溢出,这个时候数据就突然从递增变化为递减了,说明达到了一个次高度;
这个时候将次高度作为初始值,循环迭代,每次倍增,倍数为:N
/=
2(Num
+=
Num
*
N);
。。。。
然后持续迭代,慢慢逼近真实的数据,等待算法收敛(收敛准则:N非常小,接近于0)
是不是笨了点,抛砖引玉阿
1、先考虑整数,最简单了,最大值就是把-1转换为无符号数;
2、非整型数:如果不考虑任何其它技巧,仅考虑算法的话,那么可以这样子做:
从给定的初始值,循环迭代,每次倍增(比如N倍,N=10,Num
+=
Num
*
N);
考虑到这个类型的变量的存储总是有限的,一定会出现溢出,这个时候数据就突然从递增变化为递减了,说明达到了一个次高度;
这个时候将次高度作为初始值,循环迭代,每次倍增,倍数为:N
/=
2(Num
+=
Num
*
N);
。。。。
然后持续迭代,慢慢逼近真实的数据,等待算法收敛(收敛准则:N非常小,接近于0)
是不是笨了点,抛砖引玉阿
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询