负实数开方”和“负整数开方”为什么会有不同的处理结果?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 04:08:18

负实数开方”和“负整数开方”为什么会有不同的处理结果?
负实数开方”和“负整数开方”为什么会有不同的处理结果?

负实数开方”和“负整数开方”为什么会有不同的处理结果?
在math库中,sqrt函数默认参数为double,而且貌似只有两个重载函数,一个是对float型参数的重载,一个是对long double型参数的重载,因此当参数类型为int时,编译器必然会进行一个强制类型转换,但是,转为double?float?还是long double?编译器显然无法确定,因此当进行负整数(其实是所有整数)开方时,会得到“error C2668:“sqrt”:对重载函数的调用不明确”这一错误.而对于负实数开方,sqrt函数是有返回值的,那就是传说中的NaN.
樊大神求采纳.

负数都不能开方

在复数域内会有不同的处理结果

樊大神,你来问问题啦~
负实数开方结果是-1.#IND,这是浮点数“非数”。而整数没有开方的异常处理。组原书上44页有。
给积分啦~
黄ms 3B226

这两个一样,在实数范围内无意义,在虚数范围内一样