《C程序设计第二版》(谭浩强)
两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。例如,-5/3在有的机器上得到结果-1,有的机器则给出结果-2。多数机器采取“向零取整”的方法,即5/3=1,-5/3=-1,取整后向零靠拢。如果参加+, -, *, /运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。所以 除数、被除数有一个为实数时,结果为double 型.
★ 对"向零取整"似懂非懂,-5/3不就应该得-1吗, 如果得-2 又是什么依据呢? 这是由机器本身的规定所决定的吗? 先不管那么多了,记住就行,呵呵!
评论