/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/thealgorithms/conversions/BinaryToDecimal.java
33 строки
1002 B
Alex Klymenko
refactor: `BinaryToDecimal` (#5330)
16 авг 2024, 17:48
Не верифицирован
16 авг 2024, 17:48
e32cab3
Код
Авторство
О чём код?
package com.thealgorithms.conversions; /** * This class converts a Binary number to a Decimal number */ final class BinaryToDecimal { private static final int BINARY_BASE = 2; private BinaryToDecimal() { } /** * Converts a binary number to its decimal equivalent. * * @param binaryNumber The binary number to convert. * @return The decimal equivalent of the binary number. * @throws IllegalArgumentException If the binary number contains digits other than 0 and 1. */ public static long binaryToDecimal(long binaryNumber) { long decimalValue = 0; long power = 0; while (binaryNumber != 0) { long digit = binaryNumber % 10; if (digit > 1) { throw new IllegalArgumentException("Incorrect binary digit: " + digit); } decimalValue += (long) (digit * Math.pow(BINARY_BASE, power++)); binaryNumber /= 10; } return decimalValue; } }