![一个浮点型数据除以一个整型数的结果是什么,第1张 一个浮点型数据除以一个整型数的结果是什么,第1张](/aiimages/%E4%B8%80%E4%B8%AA%E6%B5%AE%E7%82%B9%E5%9E%8B%E6%95%B0%E6%8D%AE%E9%99%A4%E4%BB%A5%E4%B8%80%E4%B8%AA%E6%95%B4%E5%9E%8B%E6%95%B0%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%E4%BB%80%E4%B9%88.png)
因为你把t和n同时定义为
整型了,整型除以整型得到的也只能是整型。就算你定义结果t为
浮点型,得到的也只是一个带有小数点后几位为0的整数,而这个循环循环到第二次t就等于0.000000跳出循环了linux shell本身只是一个脚本语言,使用 *** 作系统的命令或已安装的程序进行
运算。你出的题咋一看有难度,实际上是个伪命题,只要有个已经安装好的支持高精度浮点运算的支持外部调用的计算器程序,写个shell实现这个命题太简单了。如果只是依赖 *** 作系统内置的计算器,那就复杂很多。需要考虑把数字转成文本,进行截断后,再转成数字,分段进行计算,然后再将结果进行组合,最终结果需要以文本方式输出,理论上也可以实现。
bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理
1、借助bc处理示例:计算5.01-4*2.0,得到的结果为-2.99
$ c=$(echo "5.01-4*2.0"|bc)
$ echo $c
2、借助awk处理示例:计算7.01*5-4.01,得到的结果为31.05
$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
$ echo $c
注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。
评论列表(0条)