- Python: Перевод числа в другую систему счисления
- Преобразование чисел в двоичную систему
- Преобразование чисел в восьмеричную систему
- Преобразование чисел в шестнадцатеричную систему
- Преобразование чисел в произвольную систему счисления
- Комментарии
- Отправить комментарий
- Популярные сообщения
- Python вывести количество элементов списка
- Как сделать шашки на python
- Перевод чисел в Python
- Convert Binary to Hex in Python
- Create and Make Use of a User-Defined Function to Convert Binary to Hex in Python
- Use the int() and the hex() Functions to Convert Binary to Hex in Python
- Use the binascii Module to Convert Binary to Hex in Python
- Use the format() Function to Convert Binary to Hex in Python
- Use f-strings to Convert Binary to Hex in Python
- Related Article - Python Binary
- Related Article - Python Hex
Python: Перевод числа в другую систему счисления
В языке программирования Python преобразование числа в другую систему счисления может быть выполнено с использованием встроенных функций и методов.
Преобразование чисел в двоичную систему
Python предоставляет встроенную функцию bin() для преобразования числа в двоичную систему.
# Пример преобразования числа в двоичную систему num = 18 binary_num = bin(num) print(binary_num) # Вывод: 0b10010
Преобразование чисел в восьмеричную систему
Функция oct() в Python преобразует число в восьмеричную систему.
# Пример преобразования числа в восьмеричную систему num = 18 octal_num = oct(num) print(octal_num) # Вывод: 0o22
Преобразование чисел в шестнадцатеричную систему
Функция hex() используется для преобразования числа в шестнадцатеричную систему.
# Пример преобразования числа в шестнадцатеричную систему num = 18 hex_num = hex(num) print(hex_num) # Вывод: 0x12
Преобразование чисел в произвольную систему счисления
Python не предоставляет встроенной функции для преобразования числа в произвольную систему счисления. Однако, это можно сделать с помощью пользовательской функции.
# Пример функции для преобразования числа в произвольную систему счисления def convert(num, base): digits = "0123456789ABCDEF" if num < base: return digits[num] else: return convert(num // base, base) + digits[num % base] # Пример преобразования числа в систему счисления с основанием 5 num = 18 base = 5 converted_num = convert(num, base) print(converted_num) # Вывод: 33
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
Отправить комментарий
Популярные сообщения
Python вывести количество элементов списка
Python: Вывод количества элементов списка В этой статье мы рассмотрим как выводить количество элементов списка с помощью языка программирования Python. Использование функции len() Для определения количества элементов в списке в Python, используйте встроенную функцию len() . my_list = [1, 2, 3, 4, 5] elements_count = len(my_list) print("Количество элементов в списке:", elements_count) Этот код создает список my_list , а затем использует функцию len() для подсчета элементов в списке. Результат будет выведен на экран. Использование цикла for Если вы хотите подсчитать количество элементов списка без использования функции len() , вы можете использовать цикл for . my_list = [1, 2, 3, 4, 5] elements_count = 0 for _ in my_list: elements_count += 1 print("Количество элементов в списке:", elements_count) В этом примере мы инициализируем переменную elements_count значением 0, а затем для каждого элемента в списке увел
Как сделать шашки на python
Как сделать шашки на Python Как сделать шашки на Python В этой статье мы рассмотрим, как создать простую игру в шашки на Python с использованием библиотеки Pygame. Подготовка Для начала установите библиотеку Pygame, используя следующую команду: pip install pygame Создание доски import pygame pygame.init() WIDTH, HEIGHT = 800, 800 ROWS, COLS = 8, 8 SQUARE_SIZE = WIDTH // COLS WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) BLUE = (0, 0, 255) def draw_board(win): win.fill(WHITE) for row in range(ROWS): for col in range(row % 2, COLS, 2): pygame.draw.rect(win, BLACK, (row * SQUARE_SIZE, col * SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE)) def main(): win = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Checkers") clock = pygame.time.Clock() run = True while run: clock.tick(60) for event in pygame.event.get(): if event.ty
Перевод чисел в Python
В данной статье мы рассмотрим встроенные функции языка программирования Python по переводу чисел в различные системы счисления. А так же напишем универсальную функцию по переводу десятичных чисел в другие системы счисления.
Перевод чисел из десятичной системы счисления
Для перевода числа из десятичной системы счисления в двоичную можно воспользоваться оператором bin(). В качестве аргумента нужно передать значение в виде числа, а оператор вернет строку с двоичным числом. У результата также будет префикс 0b, указывающий на основание системы счисления.
number = 123 result = bin(number) print(result)
Для перевода в восьмеричную систему счисления есть оператор oct(). Он также возвращает строку с восьмеричным числом и префиксом 0o.
number = 123 result = oct(number) print(result)
При переводе в шестнадцатеричную систему счисления воспользуемся оператором hex(). Он вернет строку шестнадцатеричным числом и префиксом 0x
number = 123 result = hex(number) print(result)
Если же вам не нужен префикс у результата перевода, то всегда можно взять срез у полученной строки.
print(bin(123)[2:]) print(oct(123)[2:]) print(hex(123)[2:])
Так же выводить числа в других системах счисления можно используя f-строки и формат вывода. Для этого в строке, через символ : указываем буквы b – для двоичной, o – для восьмеричной и x – для шестнадцатеричной системы счисления.
n = 1984 print(f'Двоичное: ') print(f'Восьмеричное: ') print(f'Шестнадцатеричное: ')
Двоичное: 11111000000 Восьмеричное: 3700 Шестнадцатеричное: 7c0
А теперь напишем универсальную функцию convert_to() по переводу чисел из десятичной системы счисления в систему счисления в любым основанием. Наша функция будет ограничена только наличием символов в переводимой системе счисления.
Данная функция принимает три аргумента, два из которых обязательные. Это десятичное целое число number и основание переводимой системы счисления base. Третий аргумент upper служит для указания регистра вывода строки переведенного числа. По умолчанию он установлен в значение False.
def convert_to(number, base, upper=False): digits = '0123456789abcdefghijklmnopqrstuvwxyz' if base > len(digits): return None result = '' while number > 0: result = digits[number % base] + result number //= base return result.upper() if upper else result
Во второй строке мы задаем переменную digits, содержащую набор символов цифр и букв английского языка. Она нам понадобится для составления символов переведенного числа на основании остатков.
В третьей строке мы проверяем основание переданной системы счисления на его длину. Если основание окажется больше, чем количество символов в нашей строке digits, то мы прекращаем выполнение функции через вызов оператора return и возвращаем None. Это такая своеобразная защита функции от неправильно переданных аргументов. Если мы попробуем перевести число в большую систему счисления по основанию, чем у нас есть символов для его записи, то мы его не сможем записать.
Дальше заведем переменную result для хранения результата работы функции и зададим ей значение в виде пустой строки. Теперь с помощью цикла с условием будем находить остаток от деления числа number на основание base, а также уменьшать number в base раз используя целочисленное деление.
Остаток от деления числа на основание переводимой системы счисления мы будем использовать как индекс для получения символа в строке digits и добавлять его к результату result. Добавлять это значение следует слева, т.к. самый первый остаток является самым правым разрядом. Цикл выполняется до тех пор, пока исходное значение переменной number больше нуля.
После завершения цикла мы вернем результат через вызов return. Для этого воспользуемся тернарным оператором и проверим наш третий аргумент. Если он будет в значении True, то для строки result вызовем строкой метод .upper() который заменит все прописные символы английского языка на строчные. Иначе, вернем результат как есть.
А теперь проверим работу нашей функции. Для этого попробуем перевести числа в 2ю, 8ю, 16ю, 32ю и 64ю системы счисления. Для перевода в 32ю систему счисления мы укажем третий необязательный аргумент upper и зададим ему значение True.
print(convert_to(123, 2)) print(convert_to(123, 8)) print(convert_to(123, 16)) print(convert_to(123, 32, upper=True)) print(convert_to(123, 64))
Перевод чисел в десятичную систему счисления
Для обратного перевода в десятичную систему счисления мы будем использовать оператор int(). Для этого передадим ему два аргумента, первый – это строка с числом в какой-то системе счисления, а второй – это основание системы счисления самого числа. По умолчанию для этого необязательного аргумента стоит значение равное 10.
В качестве самого числа нужно обязательно передать строку. Строка может содержать или само число или число с префиксом системы счисления.
Для перевода из двоичной системы счисления:
number = '11001' result = int(number, 2) print(result)
number = '0b11001' result = int(number, 2) print(result)
Для перевода из восьмеричной системы счисления:
Convert Binary to Hex in Python
- Create and Make Use of a User-Defined Function to Convert Binary to Hex in Python
- Use the int() and the hex() Functions to Convert Binary to Hex in Python
- Use the binascii Module to Convert Binary to Hex in Python
- Use the format() Function to Convert Binary to Hex in Python
- Use f-strings to Convert Binary to Hex in Python
Binary and Hexadecimal are two of the many number systems in which a numeric value can be represented in Python. This tutorial focuses on the different ways available to convert Binary to Hex in Python.
Create and Make Use of a User-Defined Function to Convert Binary to Hex in Python
We can create our user-defined function with the help of the while loop and put it in place to convert a value in Binary to Hex in Python.
The following code uses a user-defined function to convert Binary to Hex in Python.
print("Enter the Binary Number: ", end="") bnum = int(input()) h = 0 m = 1 chk = 1 i = 0 hnum = [] while bnum!=0: rem = bnum%10 h = h + (rem*m) if chk%4==0: if h10: hnum.insert(i, chr(h+48)) else: hnum.insert(i, chr(h+55)) m = 1 h = 0 chk = 1 i = i+1 else: m = m*2 chk = chk+1 bnum = int(bnum/10) if chk!=1: hnum.insert(i, chr(h+48)) if chk==1: i = i-1 print("\nEquivalent Hexadecimal Value = ", end="") while i>=0: print(end=hnum[i]) i = i-1 print()
The above code provides the following output.
Enter the Binary Number: 0101101 Equivalent Hexadecimal Value = 2D
Use the int() and the hex() Functions to Convert Binary to Hex in Python
We make use of both the int() and the hex() functions to implement this method.
Firstly, the int() method is utilized to convert the given binary number into an integer value. After this process, the hex() function converts the newly found integer value into a hexadecimal value.
The following code uses the int() and the hex() functions to convert Binary to Hex in Python.
The above code provides the following output.
Use the binascii Module to Convert Binary to Hex in Python
Python provides a binascii module from Python 3 onwards that can be utilized to convert Binary to Hex in Python. The binascii module needs to be manually imported to the Python code in order for this method to work.
This method opens a text file, takes in the content of the file, and can return the hex value of the given data in the file using the hexlify() function.
The following code uses the binascii module to convert Binary to Hex in Python.
import binascii bFile = open('ANYBINFILE.exe','rb') bData = bFile.read(8) print(binascii.hexlify(bData))
Use the format() Function to Convert Binary to Hex in Python
The format() function is one of the ways in which string formatting can be implemented in Python. The format() function is utilized to provide the formatted string inside the <> curly brackets.
The following code uses the format() function to convert Binary to Hex in Python.
print("4X>".format(int("0101101", 2)))
The above code provides the following output.
Use f-strings to Convert Binary to Hex in Python
Being introduced with Python 3.6, it is relatively the newest method in Python to implement string formatting. It can be used in the newer and latest versions of Python.
It is more efficient than its other two peers, % sign and str.format() , as it is faster and easier to understand. It also helps in implementing string formatting in Python at a faster rate than the other two methods.
The following code uses f-strings to convert Binary to Hex in Python.
bstr = '0101101' hexstr = f'int(bstr, 2):X>' print(hexstr)
The above code provides the following output.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
Related Article - Python Binary
Related Article - Python Hex
Copyright © 2023. All right reserved