【问题标题】:How do you split a integer by a digits and put into a list in java? [duplicate]如何将整数按数字拆分并放入java中的列表中? [复制]
【发布时间】:2015-07-30 09:08:02
【问题描述】:

我如何将二进制数按每个单独的数字拆分,然后将其重新放入 java 列表中。

例如: 二进制数:

01111101

拆分后的样子

int[] binary = {0,1,1,1,1,1,0,1}

数组翻转后看起来像

int[] binaryFlipped={1,0,1,1,1,1,1,0}

我这样做是为了在 java 中将二进制数转换为十进制数。 因此,我将翻转列表中的每个二进制数字计算出它的拒绝值。这是我将如何做到这一点的一个例子。 (注意:lengthOfList 不是 write 方法,只是作为一个例子来说明它是如何工作的)

For(x=0;lengthOflist(binary);x++){
    sum=binary[x]*pow(2,x)+sum;
    }
System.out.println(sum);

【问题讨论】:

  • 您是否尝试过使用 Integer.parseInt("01111101", 2); ?
  • 你原来的二进制数是多少?一个字符串? (当然大卫是对的,但我认为你的工作是自己做g
  • @FlorianSchaetz 他的头衔表明他使用的是整数。
  • 我会看看另一个堆栈溢出问题,如果它是重复的,我会自己关闭它。否则我会告诉你区别。请在此期间保持开放。
  • 看看here

标签: java


【解决方案1】:

假设您的输入是int 而不是String

    int number = 2;
    int[] binaryFlipped = new int[8];
    for (int i = 0; i < binaryFlipped.length; i++) {
        binaryFlipped[i] = number % 2;
        number = number >> 1;
    }

【讨论】:

  • 哪个变量是二进制数?
  • 我使用了int[8],因为您的示例有 8 位,但 Java 中的 int 精度是 32 位。
  • 此实现中没有临时二进制数
  • 我明白了。但是我会输出哪个变量来得到翻转的二进制数
  • 我想是binaryFlipped,因为这是您在代码中使用的名称:)
猜你喜欢
  • 2014-06-23
  • 2023-02-11
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多