Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. def hex2bin(hex_val, num_bits): # Returns binary string of num_bits length of hex value (pos or neg)
  2.  
  3. bit_string = '0' * num_bits
  4. bin_val = str(bin(int(str(hex_val), 16)))[2:]
  5. bit_string = bit_string[0: num_bits - len(bin_val)] + bin_val
  6. return bit_string
  7. '''''''''''
  8. def dec2bin(dec_value, num_bits):
  9. bit_string = '0' * num_bits
  10. bin_val = str(bin(dec_value))[2:]
  11. bit_string = bit_string[0: num_bits - len(bin_val)] + bin_val
  12. return bit_string
  13.  
  14. print(dec2bin(-3,5))
  15.  
  16. '''
  17. def dec2bin(dec_value, num_bits):
  18. if int(dec_value) >= 0:
  19. bits='0'*num_bits
  20. bin_val=str(bin(int(dec_value)))[2:]
  21. k=num_bits-len(bin_val)
  22. bit_string=bits[0:k]+bin_val
  23. return bit_string
  24. else:
  25. k = format(int(dec_value) & 0xffffffff, 'b')
  26. bit_string=k[-num_bits:]
  27. return bit_string
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. ''''''''''
  35. # Adjust for negative by performing Two's Complement (tc) written above the code
  36. tc = False
  37. if '-' in hex_val:
  38. tc = True
  39. hex_val = hex_val.replace('-', '')
  40. # Two's complement if negative hex value written under the code
  41. if tc:
  42. tsubstring = bit_string[0:bit_string.rfind('1')]
  43. rsubstring = bit_string[bit_string.rfind('1'):]
  44. tsubstring = tsubstring.replace('1', 'X')
  45. tsubstring = tsubstring.replace('0', '1')
  46. tsubstring = tsubstring.replace('X', '0')
  47. bit_string = tsubstring + rsubstring
  48.  
  49. return bit_stringng[num_bits-1:])
  50. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement