小编Axi*_*xim的帖子

如何检查Java 8中的负零?

我一直试图弄清楚如何确定双值是否-0.0d.我搜索了一下这个问题并发现了一些不同的方法,但是我找到的所有线程至少都有几年的历史,而且似乎已经不再适用了.

这是我到目前为止所尝试的:

double x, y;
x = 0;
y = -0;

println(x == y);
println(Double.compare(x, y) == 0);
println(new Double(x).equals(new Double(y)));
println(Double.doubleToLongBits(x) == Double.doubleToLongBits(y));
println(Math.signum(x) == Math.signum(y));
Run Code Online (Sandbox Code Playgroud)

true不幸的是,所有这些都打印出来.

我需要区分0和-0的原因,如果你想知道,是因为我试图从用户输入解析double值,并在异常的情况下使用-0作为sentinel值.

java java-8

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

使用C++匹配括号,大括号和括号

我们应该实现一个程序来检查给定表达式中的大括号,括号和parens是否都使用C++中的堆栈结构匹配我的CS类.不幸的是,我有点坚持这个,因为我一直告诉我一些不匹配的东西,即使最明确的确实如此.这是我到目前为止所得到的:

#include <stdlib.h>
#include <iostream>
#include <string>
#include <cstring>
using namespace std;

struct cell {int value; cell* next; };
cell* top;
int numElem;

void init()
{
    top = NULL;
    numElem = 0;
}

int pop()
{
    int res;
    if (top != NULL)
    {
        res = top -> value;
        top = top -> next;
        numElem--;
    } else {
        cout << "FAIL: Stack empty!\n";
        res = -1;
    }
    return res;
}

void push(int element)
{
    cell* cat = new cell;
    cat -> …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
3670
查看次数

标签 统计

c++ ×1

java ×1

java-8 ×1