在一些Java程序中需要我们做一些按位判断,其实就是取任意位数(第m位到第n位)进行操作。
int[] a = { 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1 };
如果给出一个二进制数组需要我们将其中第1位到第5位的二进制转换成十进制,我们可以做如下操作
首先把二进制数组中我们需要操作的数取出来
此处可建立for循环,进行取出位数操作
将这些二进制数转换成字符串。String str = ""; int i;for (i = 1; i < 6; i++) str=str+a[i];此时我们需要处理的就是一个str的二进制字符,使用函数Integer.parseInt(str, 2),可实现转换。int sjz = Integer.parseInt(str, 2);
所需代码如图所示,用的关键代码很少,但却对我们所要做的工作有很大帮助,方便快捷。
java二进制数组转十进制整形
代码运行结果
这其实也是一个模板,以后需要将二进制数组取固定位数转十进制整数时,可以直接套用。
实现如下转换:
二进制数组——二进制字符串——十进制整形