assignment.py 604 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
def value(v, pos=4, neg=3):
    """รับ v มาเพื่อหาค่าเป็นเลขฐานสิบ binary --> difital.
    โดยค่ากำหนกเริ่มต้น
    pos เป็น 4 หลัก
    neg เป็น 3 หลัก
    sign bit เป็นหลักแรกเสมอ
    """
    sign = -1 if v[0] == 1 else 1
    return sign*sum([v[i] * 2 ** (pos-i) for i in range(1, 1+pos+neg)])

def values(v, pos, neg):
    sign = -1 if int(v[0]) == 1 else 1
    return sign * sum([int(v[i]) * 2 ** (pos - i) for i in range(1, 1 + pos + neg)])