相关疑难解决方法(0)

浮点数是负零吗?(-0f)

IEEE浮点数有一个位用于指示符号,这意味着您可以在技术上具有零(+0和-0)的不同二进制表示.我是否可以在C中进行算术运算,从而产生负零浮点值?

这个问题的灵感来自于另一个问题是否可以安全地比较0.0f使用==,我还想知道是否还有其他方法来表示零,这会导致float1 == 0.0f看似完全相等的值.

[编辑]请不要评价比较花车的平等安全性!我并没有试图添加那些重复的问题.

language-agnostic floating-point negative-zero

30
推荐指数
4
解决办法
1万
查看次数

关于在C中除以零的一些事情

可能重复:
返回值1.#INF000

我一直认为除以0会导致编译程序崩溃

但是我今天发现(使用VC++ 2010 Express),除以0得到的东西叫做1.#INF000,它应该是正无穷大

当它被传递给一个函数时,它被传递为-1.#IND000

这是怎么回事?

在Google上搜索1.#INF000和-1.#IND000也没有提供任何明确的解释

它只是VC++特有的东西吗?

c c++ visual-c++

18
推荐指数
3
解决办法
2万
查看次数

操作数的评估顺序

在表达式中a + b,a保证在之前进行评估b,还是未指定评估的顺序?我认为这是后者,但我很难在标准中找到明确的答案.

由于我不知道C是否处理与C++有所不同,或者如果在C++ 11中简化了评估顺序规则,我将把这个问题标记为三个.

c c++ expression operator-precedence c++11

13
推荐指数
2
解决办法
3936
查看次数

带有浮点的模数c

我在编译以下程序时非法使用浮点错误.请让我知道我犯了什么错误.

#include<stdio.h>
#include<conio.h>

void main()
{
    float a;
    clrscr();
    printf("\n Enter the num : ");
    scanf("%f", &a);

    if ( a >= 0 )
    {
        if ( (a % 2) == 0 ) //ERROR HERE
        {
            printf("\n You entered a positive even num");
        }
        else
        {
            printf("\n You entered a positive odd num");
        }
    }
    else
    {
        if ( (a % 2) == 0 ) //ERROR HERE
        {
            printf("\n You entered a negative even num");
        }
        else
        {
            printf("\n You entered …
Run Code Online (Sandbox Code Playgroud)

c floating-point integer floating-point-conversion

0
推荐指数
1
解决办法
282
查看次数