Как перевести двоичное число в десятичное java
Перейти к содержимому

Как перевести двоичное число в десятичное java

  • автор:

 

Как перевести двоичное число в десятичное java

символы майя

символы майя

Для усвоения этого урока достаточно знать циклы for (while, do-while), оператор выбора switch, условный оператор **if **, знание и уверенное пользование арифметическим оператором modulo.

Это один из лучших примеров, который показывает, что первоначально абсолютно неподъёмная задача при решении оказывается не такой уж и страшной.

Мы уже рассматривали во главе, которая знакомила нас с while как из десятичных чисел получить двоичные.

Повторение, 78 превращаем в 1001110.

Давайте переведём двоичное число в десятичное. Давайте возьмём уже известное нам число 1001110. В одном байте восемь битов. Число 1001110 состоит из семи цифр. В таких случая часто дописывают недостающие ноли и 100_1110 превращается в 0100_1110. Это удобно и очень важно при визуализации чисел.

Порядковый номер цифры в числе 7 6 5 4 3 2 1 0
Степени двойки 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Чему в итоге равны степени 128 64 32 16 8 4 2 1
Пример двоичного числа 0 1 0 0 1 1 1 0
Как считается десятичное 0*128 1*64 0*32 0*16 1*8 1*4 1*2 0*1
Результат вычислений 0 64 0 0 8 4 2 0

Сумма чисел из последней строчки 64+8+4+2 = 78

Если с приведёнными примерами всё понятно, то можно перейти дальше и записать оба примера в Java.

Переведём число из десятичной системы в двоичную, пока не забыли.

И обратно из двоичной в десятичную

Замечу, что это простейший метод преобразования, который работает только с целыми числами больше нуля. Однако краткость этого метода должна помочь понять суть методики. Единственное, что стоит особенно подчеркнуть — результат работы метода строковое значение.

Если поработать над читаемостью метода convertDecimalToBinary, то мы заметим, что у нас (как минимум) дважды используется magicNumber 2 . Если мы догадаемся назвать это число systemIndex, то это будет частью решения метода convertDecimalToAnything.

Теоретически, можно подумать как из бинарной системы перевести числа в любую другую систему. Но зачем? Если есть метод преобразования бинарного числа в десятичную систему, а потом в любую другую.

У нас только одна проблема, наша система работает с числами систем меньше десятичной. Для того, что бы нам одолеть системы свыше десятичной, нам надо понять, что происходит с числом, когда его делят на 11, 12, 13, 14, 15, 16 и так далее. И здесь нам должен помочь switch, который будет перехватывать результаты деления свыше 10 и подставлять в output вместо числовых значений буквенные A, B, C, D, E, F и так далее.

 

Рекомендую в рамках Java ограничиться целыми позитивными числами до шестнадцатеричной системы. Она нам важна, так как в ней информатике хранят цветовую гамму.

How to convert a Binary String to a base 10 integer in Java

I have an array of Strings that represent Binary numbers (without leading zeroes) that I want to convert to their corresponding base 10 numbers. Consider:

What’s the best way to proceed? I’ve been exploring java.lang.number.* without finding a direct conversion method. Integer.parseInt(b) yields an integer EQUAL to the String. e.g., 1001 becomes 1,001 instead of 9. and does not seem to include a parameter for an output base. toBinaryString does the conversion the wrong direction. I suspect I’ll need to do a multistep conversion, but can’t seem to find the right combination of methods or subclasses. I’m also not sure the extent to which leading zeros or lack thereof will be an issue. Anyone have any good directions to point me?

12 Answers 12

You need to specify the radix. There’s an overload of Integer#parseInt() which allows you to.

Преобразование двоичной строки в десятичную в Java

В этом посте будет обсуждаться, как преобразовать двоичную строку в десятичную в Java.

1. Использование Integer.parseInt() метод

Чтобы преобразовать строку с основанием 2 в целое число с основанием 10, вы можете использовать перегруженную версию метода Integer#parseInt() метод, который позволяет указать систему счисления. Ниже приведен простой пример, демонстрирующий его использование для анализа строки как целого числа со знаком в указанной системе счисления.

Java из двоичной системы в десятичную и обратно

Раньше, чтобы переводить числа из одной системы счисления в другую я писал методы с циклами и т.п.
Нужно делать так:

Вывод на консоль:
11101000
232

Также есть перевод в восьмиричную систему ( метод toOctalString) и шестнадцатиричную ( метод toHexString)

Share this:

Понравилось это:

Похожее

7 thoughts on “Java из двоичной системы в десятичную и обратно”

Duke Nukem said:

можно запулить одномерный динамичексий массив строковых двоичных типа: String massive[] = new <«0000», «0001» и т.д. ток динамическим боком >значений и из него доставать так же как ты щас замутил через принт, ток массив(переменная со значением).

Duke Nukem said:

хотя чет я о своем, заработался. у тебя эффективнее с методом класса=)))

Кстати, классно что есть методы toOctalString — перевод в восьмиричную систему и toHexString (шетнадцатиричная) работа с которыми абсолютна аналогична.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *