在 netbeans (Java) 中的计算器中使用 ^ 运算符时出现问题



我得到的错误是"二进制运算符 ^ 的第一种类型:浮点数第二种类型:浮点数的错误操作数"此错误发生在开关 x y 和 r 的 5 个浮点数且 n 是 Int 的情况下

switch (n) 
{
case 1: r=x+y;
case 2: r=x-y;
case 3: r=x*y;
case 4: r=x/y;
case 5: r=x^y;
default: System.out.println("Elija un numero valido");}

^只为类整数类型(byteshortintlongchar(和boolean定义。

换句话说:正是错误消息所说的。float不是^运算符的合法操作数。

这是有道理的:大多数人无法分辨出二进制表示的内容,例如23.42是。你会吗?(这实际上是一个棘手的问题:你甚至不能用二进制表示23.42。您可以得到的最接近的是二进制表示为01000000 00110111 01101011 10000101 00011110 10111000 01010001 1110110023.4200000000000017053025658242

如果^运算符确实使用floats,那将不是很明显。 例如

2.0 ^ 3.0

0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111253692925360069154511635867

(我想,如果我没有在某处犯错的话。

最新更新