Четверичная система счисления питон

Перевод чисел из десятичной системы в четверичную

Используя алгоритм перевода чисел из десятичной системы в четверичную(последовательно делить число на q, т.е. на основание СС) и цикл while, написать программу перевода числа -173 в 4 систему счисления. Результат вывести в двухбайтовом формате.
Срочно, пожалуйста.

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

Перевод из десятичной системы в четверичную
Необходимо написать программу, переводящую целые числа из десятичной системы счисления в.

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

ЦитатаСообщение от 1LEX Посмотреть сообщение

Срочно не получится, так как питон Вы срочно не изучите. Поэтому консультировать Вас бесполезно. А делать за Вас работу, увы нет смысла.

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

n = int(input()) b = '' while n > 0: b = str(n % 4) + b n = n // 4 print(b)
>>> int('2231', 4) 173 >>> int('-2231', 4) -173

То есть Ваш код выдает модуль числа -173 в 4СС Результат Вашего кода нужно еще умножить на -1 .
Теперь по поводу

ЦитатаСообщение от 1LEX Посмотреть сообщение

Упоминание о байтовом формате говорит о том, что под число должно отводится 2 байта, даже если оно занимает меньше байт.
Как сделать это в шестнадцатеричной 0xXXX , восьмеричной 0oXXX, двоичной 0bXXXXXX формах записи (везде спереди стоит ноль) я знаю. Но есть ли в питоне четверичная форма записи, я не знаю, не встречал.
Само число занимает один байт, что бы разместить его в двух байтах нужно просто добавить спереди нулевой байт.
В двоичной форме записи это будет выглядеть так

>>> int('-0b10101101', 2) -173 >>> int('-0b0000000010101101', 2) -173

Добавлено через 11 минут
Может кто то знает о существовании в питоне четверичной формы записи? Если она существует, я бы дополнил этой информацией свою базу данных.

ЦитатаСообщение от 1LEX Посмотреть сообщение

что число нужно вывести как -00002231 . Но это уже осуществляется с помощью форматирования вывода на экран. Что подразумевается под данной фразой выясняйте у того, кто давал задание.

1 2 3 4 5 6 7 8 9 10 11 12
def convert_base(value, base, length=16): if value  0: value = ( 1) + value res = '' while value > 0: res = str(value % base) + res value //= base return res print(convert_base(-173, 4)) # 33331103

vpArth, Спасибо за замечание. У меня была такая мысль, но поленился опять вспоминать о представлении отрицательных чисел в питоне. Приемы дополнения и так далее.

Добавлено через 2 часа 32 минуты
vpArth, На самом деле все не так просто. Ваш подход верен только для 4-х разрядных вычислительных систем, то есть только для определенных видов математических вычислений. Для современных компьютеров такой подход не пригоден, так как в байте не 4, а 8 бит и при этом может использоваться только двоичная система счисления, так как бит может иметь только 0 и 1 . Поэтому компьютер при преобразовании числа 33331103 представленного в четверичной системе счисления выдаст нам десятичное число 65363

, а не -147 .
И -1 в 8_и битовом компьютере будет не 33333333 , а будет 11111111 .
В 4_х битовом компьютере -1 будет выглядеть так, 1111 .
Поэтому Ваши вычисления не имеют никакого отношения к байтам компьютера, а годятся только для математических вычислений относящихся к четырехзначной системе счисления, где нет понятия байта а оперируют понятием разрядности.
В общем то это претензии не к Вам, а к составителю условия задачи. По моему не правильно число содержащее 4 разряда называть байтом.
Я уже давно не занимался математикой, но это скорее математическая задача, в которой не все ясно, например определение понятия байта.

Источник

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 как перевести число в другую систему счисления

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

Комментарии

Отправить комментарий

Популярные сообщения

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 3 логотип

Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.

Целые числа (int)

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:

x + y Сложение
x - y Вычитание
x * y Умножение
x / y Деление
x // y Получение целой части от деления
x % y Остаток от деления
-x Смена знака числа
abs(x) Модуль числа
divmod(x, y) Пара (x // y, x % y)
x ** y Возведение в степень
pow(x, y[, z]) x y по модулю (если модуль задан)

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).

Над целыми числами также можно производить битовые операции

x | y Побитовое или
x ^ y Побитовое исключающее или
x & y Побитовое и
x Битовый сдвиг влево
x >> y Битовый сдвиг вправо
~x Инверсия битов

Дополнительные методы

int.bit_length() - количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.

 int.to_bytes(length, byteorder, *, signed=False) - возвращает строку байтов, представляющих это число.
 int.from_bytes(bytes, byteorder, *, signed=False) - возвращает число из данной строки байтов.

Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:

  • int([object], [основание системы счисления]) - преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) - преобразование целого числа в двоичную строку.
  • hex(х) - преобразование целого числа в шестнадцатеричную строку.
  • oct(х) - преобразование целого числа в восьмеричную строку.

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

 Для высокой точности используют другие объекты (например Decimal и Fraction)).

Также вещественные числа не поддерживают длинную арифметику:

Простенькие примеры работы с числами:

float.as_integer_ratio() - пара целых чисел, чьё отношение равно этому числу.

float.is_integer() - является ли значение целым числом.

float.hex() - переводит float в hex (шестнадцатеричную систему счисления).

classmethod float.fromhex(s) - float из шестнадцатеричной строки.

  Помимо стандартных выражений для работы с числами (а в Python их не так уж и много), в составе Python есть несколько полезных модулей.

Модуль math предоставляет более сложные математические функции.

 

В Python встроены также и комплексные числа:

     : complex()    Для работы с комплексными числами используется также модуль cmath.

Для вставки кода на Python в комментарий заключайте его в теги

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Источник

Читайте также:  Font animation in html
Оцените статью