(Java)将二进制数转换为字符串时指定位数(长度)?

2022-01-09 00:00:00 binary java

我正在尝试将数字作为二进制字符串存储在数组中,但我需要指定将其存储为多少位.

I'm trying to store a number as a binary string in an array but I need to specify how many bits to store it as.

例如,如果我需要用两位存储 0,我需要一个字符串00".或者 1010 有 6 位所以001010".

For example, if I need to store 0 with two bits I need a string "00". Or 1010 with 6 bits so "001010".

谁能帮忙?

谢谢大家,因为我一般在数学/编程方面都很垃圾,所以我选择了最简单的解决方案,即 David 的解决方案.比如:

Thanks guys, as I'm rubbish at maths/programming in general I've gone with the simplest solution which was David's. Something like:

binaryString.append(Integer.toBinaryString(binaryNumber));
for(int n=binaryString.length(); n<numberOfBits; n++) {
                        binaryString.insert(0, "0");
}

它似乎工作得很好,所以除非它效率很低,否则我会用它.

It seems to work fine, so unless it's very inefficient I'll go with it.

推荐答案

使用 Integer.toBinaryString() 然后检查字符串长度并在其前面添加尽可能多的零以达到所需长度.

Use Integer.toBinaryString() then check the string length and prepend it with as many zeros as you need to make your desired length.

相关文章