Java字符数组转二进制字符串

标签 java arrays string binary bit-manipulation

考虑以下字符数组

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/

相关文章:

Java 8 带有可选键的映射以可选值作为键进行映射

java - 根据对象属性动态定义XML标签

javascript - For循环条件问题

java - 将 float 转换为字符串分数表示形式

java - 具有不同签名和返回类型的方法重载

Java bean 服务器未正常运行

r - 在 R 中生成具有定义参数的表

c++ - 动态创建的数组大小不匹配

c - 如何在 C 文件中同一行中的字符串后打印一些内容?

php - 从字符串中提取参数