Java 我们可以直接使用*运算符将两个字节相乘吗

Java 我们可以直接使用*运算符将两个字节相乘吗,java,Java,我需要对字节(2*x*x)+x执行以下操作,其中x是单个字节。我可以像对int那样直接执行该操作吗?如果没有,我们如何执行上述操作。您是否尝试过以下操作 byte x = int f = 2 * x * x + x; 作为练习,我建议您打印出每个可能字节值的结果,看看是否得到预期值。只有256个可能的字节值 您尝试过以下方法吗 byte x = int f = 2 * x * x + x; 作为练习,我建议您打印出每个可能字节值的结果,看看是否得到预期值。只有256个可能的字节值 是的 Ja

我需要对字节
(2*x*x)+x执行以下操作,其中x是单个字节。我可以像对int那样直接执行该操作吗?如果没有,我们如何执行上述操作。

您是否尝试过以下操作

byte x =
int f = 2 * x * x + x;

作为练习,我建议您打印出每个可能字节值的结果,看看是否得到预期值。只有256个可能的字节值

您尝试过以下方法吗

byte x =
int f = 2 * x * x + x;
作为练习,我建议您打印出每个可能字节值的结果,看看是否得到预期值。只有256个可能的字节值

是的

Java整数算法是两个补码;这意味着(只要有足够的位来写下值)长度或缩短字段不会影响结果

注1:检查溢出。如果结果不在128/-127范围内,它将不适合一个字节(或255/0表示无符号)

注2:浮点和双精度不是整数运算的一部分。

Java整数算法是两个补码;这意味着(只要有足够的位来写下值)长度或缩短字段不会影响结果

注1:检查溢出。如果结果不在128/-127范围内,它将不适合一个字节(或255/0表示无符号)


注2:Float和double不是整数运算的一部分。

因此,显然您认为运算符存在,因为编译器允许它,但您不相信JVM会正确计算结果。为什么?


这有多难测试?每个字节只有256个值。

因此,显然您认为运算符存在,因为编译器允许它,但您不相信JVM会正确计算结果。为什么?


这有多难测试?每个字节只有256个值。

什么是
^
符号?是XOR(编程符号)还是幂(数学符号)?是的,我直接尝试过。但是我不确定输出是否正确,
^
符号是什么?是XOR(编程符号)还是幂(数学符号)?是的,我直接尝试过。但是我不确定输出是否正确。是的,无论我们做什么,编译器都不会反对。但我怀疑输出是否正确?只要你假设字节是有符号的,即-128和127之间,答案就会正确。是的,无论我们做什么,编译器都不会反对。但我的疑问是输出是否正确?只要假设字节是有符号的,即介于-128和127之间,答案就会正确。