JavaRush /Курсы /Java Multithreading /Учимся гуглить. (Перевод чисел в 16 систему)

Учимся гуглить. (Перевод чисел в 16 систему)

Java Multithreading
10 уровень , 11 лекция
Открыта
Учимся гуглить. (Перевод чисел в 16 систему) - 1

— Привет, Амиго!

Продолжаем наши уроки – учимся гуглить.

Вот тебе несколько заданий:

Задания на поиск в интернете:
1 Как получить представление числа в 16-й системе?
2 Как получить представление числа в 2-й системе?
3 Как получить представление числа в 8-й системе?
4 Как получить представление числа в 19-й системе?
5 Как преобразовать число из 2-й системы в 10-ю?
6 Как преобразовать число из 8-й системы в 10-ю?
7 Как преобразовать число из 16-й системы в 10-ю?
8 Как преобразовать число из 16-й системы в 8-ю?
9 Как преобразовать число из 16-й системы в 2-ю?
10 Что такое base64?
Комментарии (33)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
SomeBody098 Уровень 51
30 августа 2024
👌
milniy87 Уровень 41
10 марта 2023
В Java есть несколько способов преобразования числа из одной системы исчисления в другую: С помощью метода parseInt класса Integer. Этот метод принимает две строки: первый аргумент - строка, содержащая число в двоичной системе счисления, а второй аргумент - основание системы счисления, в которую нужно преобразовать число.

int decimal = Integer.parseInt("1011", 2);
С помощью метода valueOf класса BigInteger. Этот метод также принимает две строки, но в отличие от метода parseInt он может работать с числами произвольной длины.

BigInteger decimal = new BigInteger("1011", 2);
С помощью цикла, который проходит по каждой цифре числа в двоичной системе, начиная с младших разрядов, и умножает ее на соответствующую степень числа 2.

String binary = "1011";
int decimal = 0;
for (int i = binary.length() - 1; i >= 0; i--) {
    if (binary.charAt(i) == '1') {
        decimal += Math.pow(2, binary.length() - 1 - i);
    }
}
Если нужно перевести число с не десятичной в не десятичную, можно использовать следующий алгоритм: Преобразовать число из 16-ой системы в 10-ую систему с помощью метода parseInt класса Integer. Преобразовать полученное число из 10-ой системы в 8-ую систему с помощью метода toOctalString класса Integer.

String hexNumber = "7F"; // шестнадцатеричное число
int decimalNumber = Integer.parseInt(hexNumber, 16); // преобразование в десятичное число
String octalNumber = Integer.toOctalString(decimalNumber); // преобразование в восьмеричное число
System.out.println(octalNumber); 
milniy87 Уровень 41
10 марта 2023
Base64 - это формат кодирования, который используется для преобразования бинарных данных в ASCII-текст. В Base64 каждые три байта данных преобразуются в четыре символа, которые состоят из 64 возможных значений. Поскольку ASCII-символы имеют широкую поддержку и могут быть переданы по большинству сетевых протоколов, Base64 часто используется для передачи бинарных данных в текстовой форме. Одно из основных применений Base64 - это кодирование данных, которые не могут быть напрямую переданы через HTTP, таких как изображения, видео и аудиофайлы. В таких случаях, данные могут быть закодированы в Base64 и переданы в виде текста в HTTP-запросе или ответе. Base64 также используется в системах безопасности для шифрования и подписи данных, например в цифровых подписях, SSL-сертификатах, авторизации и аутентификации. В Java для работы с Base64 есть стандартный класс java.util.Base64. Этот класс предоставляет методы для кодирования и декодирования данных в формат Base64. Вот несколько примеров использования этого класса:


import java.util.Base64;

// Кодирование данных в формат Base64
String plainText = "Hello, world!";
byte[] plainBytes = plainText.getBytes();
String base64Encoded = Base64.getEncoder().encodeToString(plainBytes);
System.out.println(base64Encoded);

// Декодирование данных из формата Base64
byte[] decodedBytes = Base64.getDecoder().decode(base64Encoded);
String decodedText = new String(decodedBytes);
System.out.println(decodedText);
В этом примере сначала строка plainText преобразуется в массив байтов plainBytes, а затем кодируется в формат Base64 с помощью метода encodeToString класса Base64.Encoder. Закодированная строка сохраняется в переменной base64Encoded и выводится на экран. Затем закодированная строка декодируется обратно в исходный текст с помощью метода decode класса Base64.Decoder, а результат сохраняется в переменной decodedText и также выводится на экран.
kalkulator¹ Уровень 51
18 февраля 2023
де той тіп який дасть відповідь на всі питання
LuneFox Уровень 41 Expert
3 декабря 2021
Вопросы с 1 по 9 вижу так: "Вы понимаете, как работают системы счисления?", а из какой в какую - это уже банально разные аргументы одних и тех же методов :)
PaiMei in J# Уровень 35
30 сентября 2021
для 16 - ой системы есть прям отдельный метод класса Integer.toHexString(int x); String number = Integer toHexString(15); System.out.println(number); Вывод в консоль: f
PaiMei in J# Уровень 35
30 сентября 2021
По аналогии для 8 - ой: Integer.toOctalString(int x); Для бинарной системы Integer.toBinaryString(int x);
Yeikovych Volodymyr Уровень 47
19 января 2022
У Integer вообще есть метод Integer.toUnsignedString(int number, int radix) Где радикс - ричность системы. Аля 2 для бинарной, 8 для восьмиричной итд. P.S это я не вам, понятное дело, а людям которые это потом будут читать, может они не знали)
Archy Уровень 1 Expert
28 октября 2023
Integer.toString(int number, unt radix) тоже отлично подходит
22 сентября 2021
Мне больше всего нравиться мемы они такие крутые .
Юра Уровень 33
29 июля 2021
https://studbooks.net/2410909/informatika/teoreticheskaya_chast - как по мне, то это самое понятное объяснение 10-го вопроса
Дмитрий Уровень 39
22 июля 2021
http://flash2048.com/post/base64 Ответ на 10-й вопрос - даже с анимацией)
Akhmarzhan Islambek Уровень 36
1 апреля 2021
Integer.toString(Integer.parseInt("number", sourceBase), destinationBase).toUpperCase();
AlinaAlina Уровень 35
16 февраля 2021
Про toString() и BigInteger - это понятно уже, думаю) вдруг кому-то пригодится: Правила перевода чисел из одной системы счисления в другую И декодер base64 с сайта Лебедева) Декодер