1、创建java类,TestNumConv.java;
2、编写java函数,十进制转二进制;
public static void decimalToBinary(int n) {
String str = ""
while (n != 0) {
str = n % 2 + str
n = n / 2
}
System.out.println(str)
}
3、编写java函数,二进制转十进制;
public static void binaryToDecimal(String n) {
System.out.println(Integer.parseInt(n, 2))
}
4、在main方法中,分别调用该两个函数,执行结果满足要求;
TestNumConv.decimalToBinary(123)
TestNumConv.binaryToDecimal("11011")
首先,java里int是有32位2进制数组成的我们一般赋值
int
i
=
1
这个是赋值10进制的数
赋值
2进制要
int
i
=
01(前面加个0,就表示是2进制数)
赋值16进制(常用)
int
i
=
0x00000001
(0x表示为16进制数)
3种的值都是1.
要用2进制输出就是Integer.toBinaryString(i)
拓展:
因为计算机处理位运算速度是非常快的(应该是最快的运算)
所以很多时候,如果有一堆boolean变量需要表示时,
一般只用1个int的数表示,如:
int
i
=
0x0000000f//表示后4位为1
int
m
=
(i
>>
2)
&
1
//
其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到
全手打,望支持