【问题标题】:How to convert byte to binary in java? [duplicate]如何在java中将字节转换为二进制? [复制]
【发布时间】:2017-04-03 03:10:08
【问题描述】:

我尝试通过代码将 10000101 转换为 -123

byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 

现在我不知道如何从 -123 转换回 10000101。

关于使用 java API 进行转换的任何建议?

【问题讨论】:

  • 你知道Integer类的toBinaryString方法吗?
  • @community.. 这不是同一个问题.. 这里的 OP 要求将字节转换为二进制字符串.. 这是一个完全不同的问题...

标签: java binary byte


【解决方案1】:

扩展一点 David Wallace 评论,您可以使用以下代码:

    String fromByteToString = String.format("%8s", Integer.toBinaryString(sum & 0xFF)).replace(' ', '0');
    System.out.println(fromByteToString);

使用sum & 0xFF 进行按位与运算:

-123 = 11111111111111111111111110000101
0xFF = 00000000000000000000000011111111
res. = 00000000000000000000000010000101

注意replace(' ', '0') 在这种情况下不是必须的,因为二进制结果字符串 (10000101) 以 1 开头。

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 2012-10-09
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多