考虑以下字符数组
char[] u = {'a', 'b', 'b', 'a' };
我正在寻找最省时的方法将其转换为二进制字符串(0110 类型),因为我需要以有效的方式对数组进行一些位移和计数。上面的数组将被转换为整数值 6,二进制 0110。
我使用了转换为新字符串的方法,然后对其执行两次替换调用,然后将其转换为基数为 2 的整数,但对我来说这看起来不是一种有效的方法。
有什么帮助吗?
最佳答案
int num = 0;
for(char c : u) {
num = (num << 1) + (c - 'a');
}
这应该有效。
关于Java字符数组转二进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22561767/