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)
Esempio n. 5
0
 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)