通用進制轉換工具
# -*- coding: utf-8 -*-
# @Author : Administrator
# @DateTime : 2020/5/23 16:48
# @FileName : sysconvert.py
# @SoftWare : PyCharm
"""
進制轉換通用工具: bin_oct_hex_convert
思路:
進制基base: 整數除 + 取餘數 ---> 進制轉換
餘數 總是 小於 進制基base
"""
def bin_oct_hex_convert(target, base):
"""
非負整數進制轉換通用工具, 任何進制(16進制及以下)均可,不僅限於bin oct 和 hex之間的進制轉換
:param target: 帶轉換的數字
:param base: 轉換後的結果的進制
:return:
"""
base_collection = "0123456789ABCDEF"
if target < base:
return base_collection[target]
return bin_oct_hex_convert(target // base, base) + base_collection[target % base]
if __name__ == '__main__':
num_input = 235
base_input = 2
oct_bin = bin_oct_hex_convert(num_input, base_input)
print(oct_bin, type(oct_bin))