发布网友
共4个回答
热心网友
看MSDN就会知道
int取整是生成一个不大于原数的整数!!
-5.1 ^ 2的结果是-26.01, 使用int的结果,就是返回-27,因为只有-27才会小于-26.01的..
剩下的就不说了吧.Sgn(-5.1 ^ 2) , 其中的sgn函数是取正负号,因为结果是负数,所以返回-1
-27的绝对值是27, 27加上-1,结果当然是26
如果你想结果为25的话,可以修改代码为:
Print Sgn(-5.1 ^ 2) + Abs(Fix(-5.1 ^ 2))
(Fix就是直接取去小数部分的函数)
热心网友
好像有问题.
热心网友
-5.1^2=-26.01 '运算符的优先级
Sgn(-5.1 ^ 2) =-1 'Sgn(n) n<0 返回-1
Int(-5.1 ^ 2)=-27 'Int(n) 取小于等于n的最大整数
Abs(Int(-5.1 ^ 2))=27 'Abs(n) 取绝对值
Sgn(-5.1 ^ 2) + Abs(Int(-5.1 ^ 2))=26
热心网友
-5.1 ^ 2的值是-26.01
Sgn(-5.1 ^ 2) = -1
Int(-5.1 ^ 2) = -27 'Int在小于0后取整是小于原值的,-26.01取整后是-27
Abs(Int(-5.1 ^ 2)) = 27
Sgn(-5.1 ^ 2) + Abs(Int(-5.1 ^ 2)) = 26
注意:-5.1 ^ 2和(-5.1) ^ 2的区别