前言
这里使用python脚本,简单实现一些verilog描述中,数字在使用不同进制表示之间的转换,比如说10进制的5000000,经过dtb(5000000)就可以可以直接得到返回结果23'b10011000100101101000000
代码
1. dtb( )
- 当输入的十进制整数大于等于0时,默认返回其无符号二进制数表示,如果需要该整数的有符号数表示,可以直接在最高位前加一个符号位0.
- 当输入的十进制整数小于0时,返回负数的有符号二进制数表示
def dtb(decimal):
'''decimal -> binary radix expression, if decimal>=0 return unsigned binary value,
or decimal < 0 print signed binary value; that is, if you want a signed decimal>=0
data, add a 0 forward printed data MSB as sign bit.'''
a = 0
b = 0
a = len(bin(decimal)) - 2
b = bin(decimal)
if(decimal >= 0):
print str(a)+'\'b'+str(b[2:])
else:
print str(a-1)+'\'b'+str(b[3:])
网友评论