从控制台读取二进制数

时间:2012-02-02 10:02:00

标签: java binary

除了BigInteger之外,如何从控制台读取二进制数并将其存储在java中。

编辑:我需要读取最多2000位,然后执行多项操作,例如shift,或等等。我需要的方法不是BigInteger 我不想使用biginteger,因为我无法轻易获得特定索引(虽然它有testBit()它对我没用,因为我需要打印1或0,这个方法返回true / false。再次是if-否则是开销)。所以我想实现自己的get方法。

4 个答案:

答案 0 :(得分:2)

Integer.parseInt(enteredString, 2);

答案 1 :(得分:1)

好吧,也许你可以使用BitSet

    String input="1001010101010101";
    int len=input.length();
    BitSet bs=new BitSet(len);
    int i=len-1;
    for (char c:input.toCharArray()) 
          bs.set(i--, c=='1'?true:false);

它支持逻辑操作,但不支持

编辑:我也不明白为什么不使用BigInteger,因为你没有解释它......

编辑:更改了代码,因为之前的版本颠倒了比特顺序,这可能会令人困惑

答案 2 :(得分:0)

将其作为Strings阅读,并使用ints将其存储为Integer.parseInt(binaryString, 2);
如果您想再次使用二进制文件,只需使用Integer.toBinaryString();

即可

答案 3 :(得分:0)

可以使用Integer.parseInt(urString,2)。

Integer.parseInt