C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 没有FPU时浮点数会发生什么变化?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_874_0@
@H_874_0@
如果使用C语言编写没有FPU的微处理器,编译器会在遇到浮点文字和关键字(0.75,浮点数,双精度等)时发出错误信号?

此外,如果表达式的结果是小数,会发生什么?

我知道有一些软件库可供使用,因此你可以进行浮点数学运算,但我特别想知道如果你没有使用它会得到什么结果.

谢谢.

解决方法

实现float和double类型以及涉及它们的算术表达式需要C实现.因此,如果编译器知道目标体系结构没有浮点运算,那么它必须引入一个软件库来完成它.允许编译器链接外部库,它也允许在软件中实现浮点操作本身作为内在函数,但它必须以某种方式生成代码才能完成它.

如果它没有这样做[*]那么它不是一个符合C的实现,所以严格来说你不是“使用C语言编程”.您可以使用编译器文档告诉您的任何内容进行编程.

您希望涉及float或double类型的代码将无法编译(因为编译器知道您处于不符合模式并告诉您)或者无法链接(因为编译器会发出对仿真例程的调用)库,但缺少图书馆).但就C而言,如果你使用不是C的东西,那么你就是你自己.

我不知道确切的细节(我看起来多大了?),但我想,如果你为x87编译了一些代码,那么你可能能够在使用X86的系统上链接和加载它没有FPU.然后当你试图执行它时,cpu会抱怨非法指令 – 很可能系统会根据你运行的操作系统而挂起.所以最糟糕的情况是非常糟糕的.

表达式的实际结果无关紧要,因为表达式本身要么用整数运算执行(在这种情况下结果不是小数),要么用浮点运算执行(在这种情况下,问题出现之前你甚至找不到结果).

[*]或者如果你没有指定选项让它这样做;-)

@H_874_0@

大佬总结

以上是大佬教程为你收集整理的c – 没有FPU时浮点数会发生什么变化?全部内容,希望文章能够帮你解决c – 没有FPU时浮点数会发生什么变化?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:cfpu什么发生变化没有浮点数
猜你在找的C&C++相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap