Почему Binary представлен в виде строки? - PullRequest
2 голосов
/ 20 апреля 2020

Так что я совсем новичок в Java и заинтересован в учебе. Этот вопрос может показаться простым, но я действительно не понимаю, и искал ответы в Google (не повезло).

Я преобразую десятичную в двоичную в Java. Тем не менее, я думал, что представления чисел должны быть даны в типах данных int, double и др. c.

Код выглядит следующим образом:

int decimal = 99;
String binary = Integer.toBinaryString(decimal);
System.out.println(binary);

Почему это String binary, если это не числовой тип данных?

Ответы [ 2 ]

2 голосов
/ 20 апреля 2020

Внутри все значения хранятся в виде двоичных значений. Поскольку читать легче, целые числа преобразуются в цифры для отображения. Таким образом, отображение значения в двоичном виде является исключительно проблемой представления.

Таким образом, 99 хранится внутри как 01100011. Вы можете отобразить его как шестнадцатеричное (0x63), десятичное (99) или двоичное. Но поскольку числовое значение в каждом случае одно и то же, единственное различие заключается в символах, используемых для его отображения, и это представление symboli c представляет собой строку.

1 голос
/ 20 апреля 2020

Следующие int все равны:

int i = 99;
int j = 0o143;
int k = 0x63;
int l = 0b1100011;

Если вы хотите напечатать их, вы должны преобразовать их в String, используя служебный метод Integer, или вы используете форматирование чисел .

...