该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明! 陈希章原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/06/08/1498389.html原文标题:老调重弹之整除与实数除 原文发表:2009/6/8 0:38:00 |
学计算机的同学一定被人问到这样的问题
1. 5除以2等于多少?
很多人第一反应就是暴怒,这么简单的问题居然还拿来考我,真是岂有此理。小学生都会的啊,等于2.5嘛
等等,好像事情没有那么简单吧?如果这么简单的话,为什么还要拿来问呢?
我们来看一下到底等于多少?
看到了吗? 它的结果是等于2. 太不可思议了吧。但其实不奇怪,这就是我们所谓的整除。
整数的意思就是说:如果分子和分母都是整数,那么它的结果也是整数。
2. 继续第二个问题,请回答:5除以2.0等于多少?
个别同学听到这个问题之后,依然是暴怒。说,刚才不是讨论过了嘛,算错的情况下等于2.5,算对的情况下等于2嘛
但大部分同学显然是被上面的问题惊着了,一言不发,作沉思状。他一定在想的事情是:可不能再被忽悠了,到底是树上七个猴,还是树上骑个猴呢?
好吧,事实上等于多少呢?
这回,它真的等于2.5了。这是咋回事呢?没想法了吧,这就是所谓的实数除。也就是说,分子分母中只要有一个是实数(而不是整数),那么结果就是实数。
什么是实数?简单地说,就是整数之外的数啦,带有小数点的嘛。C++中的实数类型有float(单精度),double(双精度),long double(长双精度:非常长)
题外话:最后谈一个与除法有关的另外一个运算符(%)
%运算符,我们有时候也称为“取模”或者说“整除取余数”,也就是两个数相除,取其余数。
所以,最后一个问题是:5%2等于多少?
有同学马上回答:5/2等于2,5/2.0等于2.5,5%2等于1
恭喜你,你会抢答了,而且一气答对了仨问题
作者:陈希章 出处:http://blog.youkuaiyun.com/chen_xizhang 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |