您的位置首页生活百科

为什么 C 语言 sqrt 函数参数不支持 int?

为什么 C 语言 sqrt 函数参数不支持 int?

的有关信息介绍如下:

为什么 C 语言 sqrt 函数参数不支持 int?

sqrt属于math库,math的接口在实际中十有八九是做科学计算的,再说大多数整数不是完全平方数,开方结果也带着小数的

如果一定要实现整数的开方,比如判断一个数字是不是完全平方数,可以先转浮点数做sqrt,然后对结果转整数后在附近几个数字做平方和输入对比即可

不过对于其他答案提到的int可以被double精确表示的说法,多嘴说两句:

1 int不一定只有32bit(ILP64模型)

2 就算无损转double,在sqrt运算过程中也是有可能损失精度的

所以,还是不能太信任浮点运算的结果。。