如果int c = 10001,则为人;这是一个二进制值。如果我想处理它就像乘以10怎么做?
答案 0 :(得分:15)
如果我理解你,你想要这样做:Integer.parseInt("10001", 2)
,它会给你17
Integer.toString
也接受基数作为第二个参数。
答案 1 :(得分:7)
“int”既不是二进制,十六进制或十进制,它只是存储数字的地方。在您打印变量之前,变量本身没有特定的十六进制/十进制/二进制表示。
当您在代码中键入数字时,它有一个基数,但在使用基数来处理您键入的内容后,基数将被丢弃,而int只会存储一个数字。
所以你问题的答案是c * 10(假设你的意思是10月12日)
答案 2 :(得分:1)
您可以将其指定为int c = 0x11
(考虑10001是0001 0001,十六进制为11)
public static void main(String[] args) throws Exception {
int c = 0x11; // 10001
int d = 10; // ten decimal
int d = 0x2; // ten binary 0010 - see table below
System.out.println(c);
System.out.println(c*d);
System.out.println(c*e);
}
二进制十进制转换
答案 3 :(得分:0)
治疗
int c = 10001;
作为二进制数字真的很奇怪。最好将其声明为String
String binaryString = "10001";
然后循环遍历每个字符以执行您想要的任何基本转换算法。
答案 4 :(得分:0)
二进制与整数的乘法运算:
对于c = 10001(基数2)* 10(基数10)的例子,这意味着(10 = 2 ^ 3 + 2 ^ 1)
int c=10001
int result=c*1000+c*10 //left-shift 3 + left-shift 1
但这真的不是处理这类任务的好方法...... 此外,它认为将二进制值保存到int中是个坏主意。我认为在使用之前将二进制转换为整数会更好。