def convert_to_base_10_latex(x: str, b: int) -> str: """ returns string in latex format for math demonstration """ msg = f"{x}_{{{b}}} = y_{{10}}\n\n" msg += f"x_0 + b \\times (x_1 + b \\times (... + x_{{n-1}}\\times b))\n\n" # allow function to be used with numbers if not isinstance(x, str): x = str(x) for i in range(0, len(x)): if i == len(x) - 1: msg += f"{x[-(i + 1)]} + {b}{')' * i}" else: msg += f"{x[-(i + 1)]} + {b} \\times (" y = convert_to_base_10(x, b) msg += f"\n\n{x}_{{{b}}} = {y}_{{10}}" return msg
def test_y_result_x1(self): b = 6 x = 34152 y = convert_to_base_10(x, b) assert y == 4820
def test_y_result_x_is_str(self): y = convert_to_base_10(str(self.x), self.b) assert y == 54333
def test_returns_int(self): y = convert_to_base_10(self.x, self.b) assert isinstance(y, int)
def setUp(self): self.x = "100111110001101" self.x_10 = convert_to_base_10(self.x, 2) self.x_16 = convert_from_base_10(self.x_10, 16)