コード例 #1
0
 def val(self) -> int:
     """
     bit 들로 이루어진 값을 int 값으로 읽을 수 있도록 만드는 함수
     음수 값이 없으므로 모두 양수 읽는 것처럼 읽
     :return:
     """
     return BitOperation.binary_to_decimal(self.bits)
コード例 #2
0
ファイル: integer.py プロジェクト: HyeockJinKim/Study-CS
    def val(self) -> int:
        """
        bit 들로 이루어진 값을 int 값으로 읽을 수 있도록 만드는 함수
        음수 확인은 signed bit를 통해 확인

        테스트 및 출력을 위해 사용하는 함수
        :return: int 값으로 리턴
        """
        res = BitOperation.binary_to_decimal(self.bits)
        if self.sign:
            return -res
        return res
コード例 #3
0
ファイル: arithmetic.py プロジェクト: HyeockJinKim/Study-CS
    def shift_fraction(a_exp: List[Bit], b_exp: List[Bit], b_frac: List[Bit]):
        """
        float의 exponent 값 차이만큼 shift 한 fraction 값 연산
        right-shift 연산 할 때 생략된 값이 있을 때 1을 더함
        :param a_exp: 비교하는 exponent
        :param b_exp: 비교하는 exponent
        :param b_frac: shift 연산할 fraction
        :return: shift 연산 된 fraction
        """
        diff, _ = Arithmetic.raw_sub_bits(a_exp, b_exp)
        diff = BitOperation.binary_to_decimal(diff)

        b_fraction = BitOperation.raw_rshift_bits(b_frac, diff)
        if not BitOperation.is_empty(b_frac[:diff]):
            b_fraction, _ = Arithmetic.add_bits(b_fraction,
                                                BitOperation.num_map['1'],
                                                len(b_fraction))
            return b_fraction
        return b_fraction