Найти - Пользователи
Полная версия: как сделать перевод из одной системы в другую не используя oct,dec,hex,bin
Начало » Python для новичков » как сделать перевод из одной системы в другую не используя oct,dec,hex,bin
1
sashaan
как сделать программу чтобы когда вводишь число вышло все четыре системы (hex,dec,bin,oct)
помогите пожалуйста очень срочно надо
FishHook
sashaan
очень срочно надо
Что за срочность то такая, сессия еще не скоро же.
sashaan
Это дз крайний срок пятница
botinag
Посмотрите здесь или здесь(bin, hex, oct) - не заметил инфу в шапке/
А вообще от вас видимо хотят получить следующее:
>>> def f(x):
... s = ''
... while x > 0:
... z = str(x % 2)
... s = z + s
... x = int(x / 2)
... return s
...
>>> f(8)
'1000'
Это пример для двоичной системы счисления для питона версии 2.х. Этот код не будет переводить числа < 0. Перевод в 8ричную систему можете сделать аналогично. Над переводом в 16ричную подумайте сами.
sashaan
Спасибо
py.user.next
На картинке нужно переводить в обе стороны. Но системы счисления удобные.

Преобразование восьмеричного числа в двоичное и наоборот:
0 - 000 - 0
1 - 001 - 1
2 - 010 - 2
3 - 011 - 3
4 - 100 - 4
5 - 101 - 5
6 - 110 - 6
7 - 111 - 7

Преобразование 16-ричного числа в двоичное и наоборот:
0 - 0000 - 0
1 - 0001 - 1
2 - 0010 - 2
3 - 0011 - 3
4 - 0100 - 4
5 - 0101 - 5
6 - 0110 - 6
7 - 0111 - 7
8 - 1000 - 8
9 - 1001 - 9
A - 1010 - A
B - 1011 - B
C - 1100 - C
D - 1101 - D
E - 1110 - E
F - 1111 - F

42 (8) = 100 010 (2)
AB (16) = 1010 1011 (2)

1010101 (2) = 001 010 101 (2) = 125 (8)
1010101 (2) = 0101 0101 (2) = 55 (16)

Введённое число переводишь в двоичную, а двоичное переводишь в конечную.
Десятичное число переводится в двоичное путём деления на 2. А двоичное в десятичное - через умножение на 2.
sashaan
Спасибо,но мне нужно код ,делать надо через массив
noob_saibot
sashaan
но мне нужно код ,делать надо через массив
sashaan
Это дз крайний срок пятница
Вам же написали, вы хоть бы подумали как это реализовать.

Не желаете думать, ну тогда вот ваш код.
old_monty
Для sashaan
Перевод неотрицательных целых чисел из dec в hex можно сделать так:
n = int(input ("Введите число: "))
d = {0:'0', 1:'1', 2:'2', 3:'3', 4:'4', 5:'5', 6:'6', 7:'7', 8:'8', 9:'9',
     10:'A', 11:'B', 12:'C', 13:'D', 14:'E', 15:'F'}
q = n
result = ""
while q != 0:
    r = q % 16
    q = q // 16
    result += d[r]
result = ''.join(reversed(result))
print("%d => 0x%s" % (n, result))
Перевод dec => oct и dec => bin еще проще. Оставляю это вам для самостоятельной работы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB