2013-04-17 3 views
2

Просто интересно, как и если можно поместить строку влево. Я видел, чтобы использовать format(), но я не знал, что положить в paramters для моего дела.заполнение двоичного представления BigInteger

Im, начинающийся первоначально с BigInteger Message, тогда говоря message.toString(2), чтобы сделать двоичное представление BigInteger как строки. Но в этом случае я хочу проверить, является ли длина кратной 8, и если она не заполняет строку длиной до следующего кратного 8.

Так что в моем случае после i message.toString(2) длина что строка im вызывает plaintext - 63, поэтому я хочу оставить ее до конца 64, добавив нуль спереди.

Любая помощь была бы принята с благодарностью!

ответ

3

Вы можете рассчитать количество нулей, которые вы хотите добавить налево, как это:

int numZeros = 8 - str.length() % 8; 

Если numZeros не 8, вы можете подушечка строку, как это:

if (str.length() % 8 != 0) { 
    str = "00000000".substring(str.length() % 8) + str; 
} 

Вот demo on ideone.

+0

спасибо, сэр, простой ответ! работает отлично! – erp

Смежные вопросы