Я пытаюсь сохранить число в виде двоичной строки в массиве, но мне нужно указать, сколько бит будет хранить его как.(Java) Укажите количество бит (длина) при преобразовании двоичного числа в строку?
Например, если мне нужно хранить 0 с двумя битами, мне нужна строка «00». Или 1010 с 6 бит так «001010».
Может ли кто-нибудь помочь?
EDIT: Спасибо, ребята, поскольку я мусор по математике/программированию в целом, я пошел с простейшим решением, которое было Дэвидом. Что-то вроде:
binaryString.append(Integer.toBinaryString(binaryNumber));
for(int n=binaryString.length(); n<numberOfBits; n++) {
binaryString.insert(0, "0");
}
Кажется, что все нормально, поэтому, если это не очень эффективно, я пойду с ним.
Это не будет работать с отрицательными числами и числом s больше 2^31, так как они не помещаются внутри Java Integer. BigInteger автоматически изменяет размер битов, используемых для хранения значения. Вы можете использовать свой метод заполнения, чтобы вставить 0 вперед. –
Извините, я не знал о признаке, отмеченном знаком. Спасибо за голову Фернандо, но я не думаю, что мне нужно будет сделать это для любых отрицательных чисел или чего-то большего, чем 2^16, так что это должно быть хорошо, я думаю. В любом случае, я посмотрю на BigInteger. – joinJpegs