#java #binary #translate
#java #двоичный #перевести
Вопрос:
Я использую метод перевода toBinaryString, подобный этому:
for (i=0; i<anyLines.length; i ) {
if (anyLines[i].startsWith("@")) {
anyLines[i] = anyLines[i].replace("@","");
anyLines[i] = Integer.toBinaryString((Integer.parseInt(anyLines[i])));
}
else {
continue;
}
Но когда я записываю в файл, длина двоичного файла составляет всего 2 бита, хотя я хочу 16-разрядный двоичный файл со всеми нулями. Например, 2 переводится как 10, хотя я хотел бы иметь 0000000000000010. Как я могу это сделать?
Ответ №1:
Просто добавьте 2 ^ 17 и substring
всю строку:
anyLines[i] = Integer.toBinaryString(131072 (Integer.parseInt(anyLines[i]))).substring(1, 17);
Ответ №2:
После установки двоичной строки просто проверьте длину строки и добавьте достаточное количество нулей в начало строки, чтобы она была длиной в 16 символов.
Комментарии:
1. «добавить достаточное количество нулей спереди» — попробуйте использовать слова «добавлять» или «префикс» — добавление спереди — это оксюморон.