@ ttreat31: Я не хочу сказать, что это звучит странно, но вы действительно должны иметь под рукой документацию (в данном случае JavaDoc), когда вы программируете. Вы не должны спрашивать: является ли это похожим методом для длинных; вам нужно его посмотреть, чем напечатать комментарий.
Лоуренс Дол
5
@ Джек, есть ли способ получить двоичную строку в фиксированном количестве битов, например, десятичный 8 в 8-
битном
38
Существует также метод java.lang.Integer.toString (int i, int base) , который был бы более уместным, если бы ваш код мог когда-нибудь обрабатывать базы, отличные от 2 (двоичные).
Еще один способ - используя java.lang.Integer, вы можете получить строковое представление первого аргумента iв radix (Octal - 8, Hex - 16, Binary - 2)указанном вторым аргументом.
Integer.toString(i, radix)
Пример_
privatevoid getStrtingRadix(){// TODO Auto-generated method stub/* returns the string representation of the
unsigned integer in concern radix*/System.out.println("Binary eqivalent of 100 = "+Integer.toString(100,2));System.out.println("Octal eqivalent of 100 = "+Integer.toString(100,8));System.out.println("Decimal eqivalent of 100 = "+Integer.toString(100,10));System.out.println("Hexadecimal eqivalent of 100 = "+Integer.toString(100,16));}
Вывод_
Binary eqivalent of 100=1100100Octal eqivalent of 100=144Decimal eqivalent of 100=100Hexadecimal eqivalent of 100=64
Если вы не хотите использовать встроенную функцию для преобразования int в двоичный файл, вы также можете сделать это:
import java.util.*;publicclassIntToBinary{publicstaticvoid main(String[] args){Scanner d =newScanner(System.in);int n;
n = d.nextInt();StringBuilder sb =newStringBuilder();while(n >0){int r = n%2;
sb.append(r);
n = n/2;}System.out.println(sb.reverse());}}
Самый простой подход - проверить, не является ли число нечетным. Если это, по определению, его крайнее правое двоичное число будет «1» (2 ^ 0). После того как мы определили это, мы немного сдвигаем число вправо и проверяем то же значение с помощью рекурсии.
Вы можете также использовать цикл while для преобразования int в двоичный файл. Как это,
import java.util.Scanner;publicclassIntegerToBinary{publicstaticvoid main(String[] args){int num;String str ="";Scanner sc =newScanner(System.in);System.out.print("Please enter the a number : ");
num = sc.nextInt();while(num >0){int y = num %2;
str = y + str;
num = num /2;}System.out.println("The binary conversion is : "+ str);
sc.close();}}
Существует также метод java.lang.Integer.toString (int i, int base) , который был бы более уместным, если бы ваш код мог когда-нибудь обрабатывать базы, отличные от 2 (двоичные).
источник
источник
Еще один способ - используя java.lang.Integer, вы можете получить строковое представление первого аргумента
i
вradix (Octal - 8, Hex - 16, Binary - 2)
указанном вторым аргументом.Пример_
Вывод_
источник
источник
Это то, что я написал несколько минут назад, просто бездельничал. Надеюсь, поможет!
}
источник
Преобразовать целое число в двоичное:
Вывод:
Введите целое число:
10
Двоичный номер: 1010
источник
Используя встроенную функцию:
Если вы не хотите использовать встроенную функцию для преобразования int в двоичный файл, вы также можете сделать это:
источник
Самый простой подход - проверить, не является ли число нечетным. Если это, по определению, его крайнее правое двоичное число будет «1» (2 ^ 0). После того как мы определили это, мы немного сдвигаем число вправо и проверяем то же значение с помощью рекурсии.
источник
вот мои методы, это немного убедительно, что число байтов фиксировано
источник
Использование битового сдвига немного быстрее ...
источник
Это может быть выражено в псевдокоде как:
источник
Вы должны действительно использовать Integer.toBinaryString () (как показано выше), но если по какой-то причине вы хотите свой собственный:
источник
Это должно быть довольно просто с чем-то вроде этого:
источник
Вы можете также использовать цикл while для преобразования int в двоичный файл. Как это,
Источник и ссылка - конвертировать int в двоичный файл в примере с Java .
источник
источник