У меня есть номер, и я хочу напечатать его в двоичном виде. Я не хочу делать это, написав алгоритм. Есть ли встроенная функция для этого в Java?
277
Предполагая, что вы имеете в виду «встроенный»:
int x = 100;
System.out.println(Integer.toBinaryString(x));
Смотрите документацию Integer .
( Long
имеет аналогичный метод, BigInteger
имеет метод экземпляра, где вы можете указать основание.)
Здесь нет необходимости зависеть только от двоичного или любого другого формата ... доступна одна гибкая встроенная функция, которая печатает любой формат, который вы хотите в вашей программе. Integer.toString (int, presentation);
источник
toBinaryString
использует вывод дополнения до двух,toString
покрывает номер указанной базы и ставит перед собой знак минус, поэтомуtoString(-8, 2) == "-1000"
источник
Мне нужно было что-то, чтобы красиво распечатать вещи и разделить биты каждый n-бит. Другими словами, отобразить начальные нули и показать что-то вроде этого:
Итак, вот что я написал:
Вызовите это так:
источник
result.replace(result.length() - 1, result.length(), "");
требуется? Как мы проходим,int
который уже 32-разрядный. Что мы заменяем на второй последней строке?String
классаtrim
для достижения того же эффекта.Старая школа:
источник
System.out.println
и&
строят модули;)Вывод:
источник
проверить эту логику можно преобразовать число в любую базу
ИЛИ
источник
Это самый простой способ печати внутреннего двоичного представления целого числа. Например : если мы возьмем n как 17, то результат будет: 0000 0000 0000 0000 0000 0001 0001
источник
Просто попробуйте. Если область видимости печатает только двоичные значения заданного целочисленного значения. Это может быть положительным или отрицательным.
вход
5
Вывод
101
источник
Решение с использованием 32-битной маски дисплея,
источник
Простое и довольно простое решение.
источник
Здесь уже есть хорошие ответы на этот вопрос. Но я попробовал именно так (и, может быть, это самая простая логика на основе → по модулю / делить / добавить ):
источник
Вопрос сложен в Java (и, вероятно, также на другом языке).
Целое число представляет собой 32-битный подписанный тип данных, но Integer.toBinaryString () возвращает строковое представление целочисленного аргумента как беззнаковое целое число в базе 2.
Таким образом, Integer.parseInt (Integer.toBinaryString (X), 2) может генерировать исключение (со знаком или без знака).
Безопасный способ - использовать Integer.toString (X, 2); это создаст что-то менее элегантное:
-11110100110
Но это работает !!!
источник
Я думаю, что это самый простой алгоритм (для тех, кто не хочет использовать встроенные функции):
Пример:
convertNumber (1) -> "0b1"
convertNumber (5) -> "0b101"
convertNumber (117) -> "0b1110101"
Как это работает: цикл while перемещает число вправо (заменяя последний бит на второй-последний и т. Д.), Получает значение последнего бита и помещает его в StringBuilder, повторяет до тех пор, пока не останется ни одного бита (вот когда а = 0).
источник
источник
Попробуйте так:
}
10010100
источник
Двоичное представление заданного int x с левыми дополненными нулями:
источник
Введите любое десятичное число в качестве ввода. После этого мы выполняем такие операции, как по модулю и делению, чтобы преобразовать заданный вход в двоичное число. Вот исходный код Java-программы для преобразования целочисленных значений в двоичные и число битов этого двоичного файла для его десятичного числа. Программа на Java успешно скомпилирована и запущена в системе Windows. Вывод программы также показан ниже.
источник
Поскольку ответ не принят, возможно, ваш вопрос был о том, как сохранить целое число в двоичном файле. java.io.DataOutputStream может быть то, что вы ищете: https://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html
источник
Вы можете использовать битовую маску (1 << k) и выполнять операцию AND с номером! 1 << k имеет один бит в позиции k!
источник
Он работает со значениями со знаком и без знака, использует мощные битовые манипуляции и генерирует первые нули слева.
источник