C++ 计算机上的分数相加

1+1/2+1/3+...+1/n从左往右计算和从右到左计算的精度是不一样的。谁的精度高?请详细分析。... 1 + 1/2 + 1/3 + ... + 1/n从左往右计算和从右到左计算的精度是不一样的。谁的精度高?请详细分析。 展开
 我来答
匿名用户
2013-07-10
展开全部
自然是从右往左的精度高从左往右 ,每次计数都要包括整数部分的1和后面的小数,float型数据保存是将其转化为1到2之间的一个数乘以2的几次方表示 一共32bit 第一个是符号位占1bit 表示2的几次方的几次方值占8bit 就是说2的几次方的范围是-127到127之间 尾数占23bit 比如一个小数转化为 1.345乘以2的-23次方 符号位为正 存次方的 就存-23 尾数的 就存 转化为十进制后前面为345后面全是0的一个大数 1不用存 应为表达方式都是1点几乘以2的多少次方。比如0.000000011 就可以写成 1.1乘以2的?次方 (没有计算 用?代替)如此,从右边算起,可以更大限度的保留尾数,当尾数相加后,积累成不被前面大数不能无视的存在使其在最终结果中有影响。而从左算起,当n很大时,便会有大量的小数因为太小而被无视掉了 ,因为前面始终有个1存在,导致前面的基数太大,不得不放弃后面的数
彼岸教育
2025-08-01 广告
彼岸教育-在职读美国名校硕士-院校直招,认可度高免试入学,在线学习,师资/课程/学位证和线下完全相同,无需辞职,更适合职场人进阶!热门计算机、人工智能、MBA、心理学等硕士专业,学费不到线下留学的1/4,性价比超高!... 点击进入详情页
本回答由彼岸教育提供
匿名用户
2013-07-10
展开全部
从右到左的精度高
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-10
展开全部
编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、比较、加、减、乘、除、求倒数、显示和输入。分数类定义如下:
class fraction{
int above; //分子
int below; //分母
void reduction(); //约分
void makeCommond(fraction); //通分
public:
fraction(int=0,int=1); //构造函数
fraction add(fraction); //两分数相加
fraction sub(fraction); //本分数减去实参分数
fraction mul(fraction); //两分数相乘
fraction div(fraction); //本分数除以实参分数
fraction reciprocal(); //求倒数
bool epual(fraction); //等于运算
bool greaterThan(fraction); //大于运算
bool lessThan(fraction); //小于运算
void display(); //显示分数
void input(); //输入分数
};
[要求] 完成所有成员函数并进行检验。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式