assignment.py 870 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
def value(v,p=4,n=3):
    """รับค่า v มาเพื่อหาค่าเป็นเลข binary -> digital.
    โดยกำหนดค่าเริ่มต้น
    p: เป็นจำนวนหลักที่ใช้เป้นจำนวนบวก 4 หลัก
    n: เป็นจำนวนหลักที่ใช้เป็นจำนวนลบ 3 หลัก
    sign bit : เป็นหลักแรกเสมอ
    """
    sign = -1 if v[0] == 1 else 1
    return sign*sum([v[i]*2**(p-i) for i in range(1,p+n+1)])


def values(v,p=4,n=3):
    a = [ int(i) for i in v]
    sign = -1 if a[0] == 1 else 1
    return sign*sum([a[i]*2**(p-i) for i in range(1,p+n+1)])

#v = [0, 0,0,0,1,1,0,0]
#print(v)
#print(value(v))
#v = [1, 0,1,0,1, 0,1,1]
#print(v)
#print(value(v))
#print(values('10001100',p=4,n=3))