读书人

C++中取整的有关问题

发布时间: 2012-03-18 13:55:39 作者: rapoo

C++中取整的问题。
定义一个类型为short的变量a,
对a进行复制,不如赋值为3560。
对a进行取整操作,代码如下:
a=a/100*100;
最后的结果是3500.
如果代码换为:
a=a/1000*1000;
最后的结果变为3000.

这是什么样的机理?

[解决办法]
整数除整数,结果向下取整

3560/100 = 35
3560/1000 = 3
[解决办法]
计算机可不会约分抵消。他只知道一个一个步骤来计算。
[解决办法]
short 型本身没小数部分,short和short型的数据操作,得到的结果肯定是整数型的,而小数部分直接去掉了,所以
3560/100 = 35
3560/1000 = 3

读书人网 >C++

热点推荐