java中变量的应用与操作

java中变量的应用与操作,java,variables,hex,decimal,bit-manipulation,Java,Variables,Hex,Decimal,Bit Manipulation,我想在a和b两者之间做一个AND运算。b的值在代码内部确定。因此,如果我写了以下内容: String g= Integer.toHexString(b); int k=a & g; int k=a & 0xFF; 我得到了错误,因为它应该是这样的: String g= Integer.toHexString(b); int k=a & g; int k=a & 0xFF; 不知何故,0x应该在十六进制值之前,同时不能是String类型。我在互联网上找不到第

我想在a和b两者之间做一个AND运算。b的值在代码内部确定。因此,如果我写了以下内容:

String g= Integer.toHexString(b);
int k=a & g;
int k=a & 0xFF;
我得到了错误,因为它应该是这样的:

String g= Integer.toHexString(b);
int k=a & g;
int k=a & 0xFF;
不知何故,0x应该在十六进制值之前,同时不能是String类型。我在互联网上找不到第二个操作数可以是变量的例子。我应该手动编写for循环以逐位应用AND操作,还是有一个直接的解决方案?
非常感谢您的帮助。

如果b已经是整数,您的代码应该是:

INTK=a&b


一个数字就是一个数字就是一个数字。0xFF与255的人工表示对&operator没有任何区别。对于计算机来说,没有十六进制整数与十进制整数之比,它只是一个值。不同的书写方式都在人的一端。

如果b已经是一个整数,那么您的代码应该是:

INTK=a&b

一个数字就是一个数字就是一个数字。0xFF与255的人工表示对&operator没有任何区别。对于计算机来说,没有十六进制整数与十进制整数之比,它只是一个值。不同的书写方式都在人的一端。

只要这样做:

int k = a & b;
在应用&运算符之前,无需将int转换为十六进制。实际上,这是一个错误,因为toHexString返回的值是一个字符串,&运算符仅适用于整数。

只需执行以下操作:

int k = a & b;

在应用&运算符之前,无需将int转换为十六进制。事实上,这是一个错误,因为toHexString返回的值是一个字符串,&运算符仅适用于整数。

在java代码中写入十六进制文本0xFF时,它与写入整数文本255相同


因此,将整数转换为字符串没有意义,只需执行a&b即可。十六进制表示法就是在java代码中编写十六进制文本0xFF时指定文本的方式,它与编写整数文本255相同


因此,将整数转换为字符串没有意义,只需执行a&b即可。十六进制表示法就是你如何指定你的文字的

@KingsIndian不明白你这么做的意思。这只是一种比喻。@KingsIndian不明白你这么做是什么意思。这只是个比喻。