gpt4 book ai didi

c - NaN 在运行时如何保存?

转载 作者:行者123 更新时间:2023-11-30 20:03:42 25 4
gpt4 key购买 nike

我有一个小函数,在某个时刻我除以 0 并创建了我的第一个 NaN。在互联网上查看后,我确实发现了 NaN - 不是一个数字,并且 NaN != NaN。

我的问题是:

  1. 在运行时如何保存 NaN 或者 Controller 如何知道变量具有 NaN 值?(我正在使用小型微 Controller (c 语言),该机制在运行于其上的程序中有所不同一台电脑(c# 和其他 OOP 语言))?

  2. Inf 与 NaN 类似?

最佳答案

  1. 在 C 语言中,值的类型由源代码静态确定。对于命名对象(“变量”),您显式声明类型。对于常量,它们的语法(例如,33.)决定了类型。在常见处理器上编译为机器代码的典型 C 实现中,处理器具有不同的指令来处理整数和浮点。编译器对整数使用整数指令,对浮点值使用浮点指令。浮点指令在硬件中设计用于处理浮点值的编码。

  2. 在 IEEE-754 二进制浮点中, float 据使用符号位、指数字段和尾数字段进行编码。如果指数字段全为 1 并且尾数字段不全为 0,则数据表示 NaN。在常见的现代处理器中,这是内置于硬件中的。

  3. 无穷大与 NaN 不太相似。它们可能都被认为是特殊的,因为它们不是普通数字,并且处理方式与普通数字略有不同。然而,在IEEE-754算术中,无穷大是一个数字并参与算术。 NaN 不是数字。

关于c - NaN 在运行时如何保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com