如何判断一个数是否是有理数。
如果你会vb编程,请帮忙回答这个问题:我现有一个类型为Double的变量a,如果通过语句判断a里存放的数值是否为有理数?请指出思路或代码。如果你不会vb编程,请帮忙回答这...
如果你会vb编程,请帮忙回答这个问题:
我现有一个类型为Double的变量a,如果通过语句判断a里存放的数值是否为有理数?请指出思路或代码。
如果你不会vb编程,请帮忙回答这个问题:
能否通过数学(计算)的方法,来判断一个精确度已知的小数 是否为有理数,如果能,请给出思路方法,
而且最好能顺便提供一种能 将一个有理的无限小数变成分数的数学方法。 展开
我现有一个类型为Double的变量a,如果通过语句判断a里存放的数值是否为有理数?请指出思路或代码。
如果你不会vb编程,请帮忙回答这个问题:
能否通过数学(计算)的方法,来判断一个精确度已知的小数 是否为有理数,如果能,请给出思路方法,
而且最好能顺便提供一种能 将一个有理的无限小数变成分数的数学方法。 展开
1个回答
展开全部
从编程的角度讲是完全没希望的,因为在计算机中存储的Double型变量一定是2进制的有限小数,并且有表示范围的问题。无法直接表示的数会取最近的近似值来存贮,所以只要a已经是Double型变量就没有机会保留无限小数或无理数的信息了。在计算机当中精确存贮实数需要用符号而非数值来实现。
至于数学上循环小数转分数的方法,这个比较容易,比如说x的循环节是n位,那么10^n*x-x是有限小数c,即x=c/(10^n-1),最后用辗转相除法把最大公因子约掉就行了。
至于数学上循环小数转分数的方法,这个比较容易,比如说x的循环节是n位,那么10^n*x-x是有限小数c,即x=c/(10^n-1),最后用辗转相除法把最大公因子约掉就行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询