精选问答
关于C整除的问题。59/60得到0,这是因为两个整数相除的结果仍为整数,并且总是舍去小数部分,即使小数部分是0.98也要舍去。向下取整的运算称为Floor,用数学符号⌊⌋表示,与之相对的,向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如:⌊59/60⌋=0⌈59/60⌉=1⌊-59/60⌋=-1⌈-59/60⌉=0C语言定义的取整运算既不是Floor也不

2019-05-29

关于C整除的问题。
59/60得到0,这是因为两个整数相除的结果仍为整数,并且总是舍去小数部分,即使小数部分是0.98也要舍去。向下取整的运算称为Floor,用数学符号⌊⌋表示,与之相对的,向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如:
⌊59/60⌋=0
⌈59/60⌉=1
⌊-59/60⌋=-1
⌈-59/60⌉=0
C语言定义的取整运算既不是Floor也不是Ceiling,无论操作数是正是负总是把小数部分截断(Truncate),所以当操作数为正的时候相当于Floor,当操作符为负的时候相当于Ceiling。
最后两行话请解释下。还有两个数学符号都是方框。估计是打不出来。我也不知是什么。 还有说操作数是正是指左值还是右值。
优质解答
操作数指被运算的数。floor( -2.8 ); -2.8 是操作数。
#include
#include
void main( void )
{
double y;
y = floor( 2.8 );
printf( "The floor of 2.8 is %f", y );
y = floor( -2.8 );
printf( "The floor of -2.8 is %f", y );
y = ceil( 2.8 );
printf( "The ceil of 2.8 is %f", y );
y = ceil( -2.8 );
printf( "The ceil of -2.8 is %f", y );
}
Output
The floor of 2.8 is 2.000000 // 地板,就是取低
The floor of -2.8 is -3.000000 // 地板,就是取低,-3 比 -2.8 低
The ceil of 2.8 is 3.000000 // 天花板,就是取高
The ceil of -2.8 is -2.000000 // 天花板,就是取高,-2 比 -2.8高
--------------------------------
C 语言里 有 fmod 和 求绝对值 函数 fabs,对小数处理也可以灵活运用这些函数。
操作数指被运算的数。floor( -2.8 ); -2.8 是操作数。
#include
#include
void main( void )
{
double y;
y = floor( 2.8 );
printf( "The floor of 2.8 is %f", y );
y = floor( -2.8 );
printf( "The floor of -2.8 is %f", y );
y = ceil( 2.8 );
printf( "The ceil of 2.8 is %f", y );
y = ceil( -2.8 );
printf( "The ceil of -2.8 is %f", y );
}
Output
The floor of 2.8 is 2.000000 // 地板,就是取低
The floor of -2.8 is -3.000000 // 地板,就是取低,-3 比 -2.8 低
The ceil of 2.8 is 3.000000 // 天花板,就是取高
The ceil of -2.8 is -2.000000 // 天花板,就是取高,-2 比 -2.8高
--------------------------------
C 语言里 有 fmod 和 求绝对值 函数 fabs,对小数处理也可以灵活运用这些函数。
相关问答