您好,感谢您的帮助,
(使用Java)我已经查看了一些将双精度数转换为基数2(仍然是双精度数)的方法,但我找不到一个简单的方法。我读到,考虑到 Double 的编码方式,像 Double.doubleToRawLongBits() 这样的方法可以给出 Base 2,但有不同的解释。
使用以下方法转换 int 非常简单:Integer.toString(x, 2)
我想知道是否有人知道一种简单的方法将 Double 转换为它的基数 2 对应的 Double?如果转换后我有 Double = 0.25,我希望看到 double = 0.01。
谢谢
我刚开始使用Java并试图编写一个简单的计算器:
我尝试了以下方法:
double x, y; //inputs
Scanner sc = new Scanner(System.in);
System.out.println("x?");
x = sc.nextDouble();
System.out.println("y?");
y = sc.nextDouble();
double answer = 0;
System.out.println("Operation type: (+,-,*,/)");
String opStr= sc.nextLine();
char op = opStr.charAt(0);
switch(op)
{
case '+':
answer=x+y;
break;
case '-':
answer=x-y;
break;
case '*':
answer=x*y;
break;
case '/':
if (y==0)
{
System.out.println("Error, can't divide by zero");
}
else
{
answer=x/y;
}
break;
default: System.out.println("Unkown operation");
} // switch end
System.out.println("answer = " +x+op+y+"=" + answer);
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我得到以下内容:(我可以输入x和y,但之后我收到错误消息.
Operation type: (+,-,*,/) …Run Code Online (Sandbox Code Playgroud)