Найти - Пользователи
Полная версия: Парни очень прошу помочь с заданием. Зависит моя судьба
Начало » Центр помощи » Парни очень прошу помочь с заданием. Зависит моя судьба
1 2
alex28746
Помогите пожалуйста написать функцию которая конвертирует введенные числа в системе исчисления я А на числа в системе исчисления В.
Как результат функция должна возвращать словарь
{‘system A’: число_в_системе_A, ‘system B’: число_в_системе_B}
систему исчисления ограничить от 2 до 16
Очень надеюсь на вашу помощь!
ZerG
может укажете системы счисления?
alex28746
от двоичной до шестнадцатеричной
terabayt
ZerG
может укажете системы счисления?
мне кажется системы исчесления долждны вводится
типа
> введите 1 систему
> введите 2 систему
> введите 1 число
> введите 2 число
alex28746
Очень надеюсь на вашу помощь!
ну я ща не могу, там не сложно
ZerG
Точные словия задачи в студию!
Если вам лень хорошо описать задачу - то нам уж точно лень ее для вас писать

import binascii
import string
def byte_to_binary(n): 
    return ''.join(str((n & (1 << i)) and 1) for i in reversed(range(8))) 
 
def hex_to_binary(h): 
    return ''.join(byte_to_binary(ord(b)) for b in binascii.unhexlify(h)) 
def bintohex(s):
    t = ''.join(chr(int(s[i:i+8],2)) for i in xrange(0, len(s), 8))
    return binascii.hexlify(t)

Думаю имея функции вы уже сможете подставить в них значения?
alex28746
mne ne len,prost wse prichoditsia perewodit s Polskogo i tak koriawo poluczajetsia…
Rebiat pomogite pozalujsta…
alex28746
spasibo tebe ogromnoje!!!
PanovSergey
Задача элементарная.
Если понимаете как на бумажке решается.
http://algolist.manual.ru/maths/teornum/count_sys.php

Я бы решил просто сначала число сконвертил в 10-чную систему. А затем из 10 в искомую.
Например

155 в 6-ричной перведем в 4-ричную

155 в 6-ричной -> в 10
155 в 6-чной ≡ 1*6^2 + 5*6^1 + 5*6^0 ≡ 71 в 10-чной

71 в 10 -> 4-ричную

71/4 = 17*4 + 3
17/4 = 4*4 + 1
4/4 = 1*4 + 0
1/4 = 0 + 1

71 в 10 -> 4-ричную ≡ 1013

155 в 6 ≡ 1013 в 4
PanovSergey
Кстати вот очень наглядно Однако рекомендуется уметь самому делать
Жать “показать как оно получилось”
terabayt
alex28746 вот то что вам нужно
def convert(a, b, n):
    A = '0123456789ABCDEF'
    num, new_num_string = int(str(n), a), ''
    while num != 0:
        new_num_string, num = A[num % b] + new_num_string, num / b
    return {a: n, b: new_num_string}
ZerG
ZerG
Если вам лень хорошо описать задачу - то нам уж точно лень ее для вас писать
если вам лень читать условие, то лучше не отвечайте
1.
alex28746
систему исчисления ограничить от 2 до 16
открою вам большой секрет! помимо 2, 8, 10 и 16 систем можно сделать очень много: 3,4,5,6,7,9,11 и т.д.
2.
alex28746
Как результат функция должна возвращать словарь
{‘system A’: число_в_системе_A, ‘system B’: число_в_системе_B}
что такое словарь можете почитать здесь
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