Перевод строки, содержащей двоичное значение, в Hex - PullRequest
7 голосов
/ 23 апреля 2011

Я пытаюсь перевести строку, которая содержит двоичное значение (например, 000010001010011), в его значение Hex. (453)

Я пробовал несколько вариантов, но в основном я получаю преобразованное значение каждогоиндивидуальный характер.(0 = 30 1 = 31)

У меня есть функция, которая переводит мои входные данные в двоичный код не математическим способом, а через серию операторов "if, else if".(значения не рассчитываются, потому что они не являются стандартными.) Бинарный код содержится в переменной String "binOutput"

В настоящее время у меня есть что-то вроде этого:

        String bin = Integer.toHexString(Integer.parseInt(binOutput));

Но этоне работает вообще.

Ответы [ 2 ]

17 голосов
/ 23 апреля 2011

Попробуйте использовать Integer.parseInt(binOutput, 2) вместо Integer.parseInt(binOutput)

2 голосов
/ 23 апреля 2011

Тед Хопп опередил меня, но тут все равно:

jcomeau@intrepid:/tmp$ cat test.java; java test 000010001010011
public class test {
 public static void main(String[] args) {
  for (int i = 0; i < args.length; i++) {
   System.out.println("The value of " + args[i] + " is " +
    Integer.toHexString(Integer.parseInt(args[i], 2)));
  }
 }
}
The value of 000010001010011 is 453
...