【发布时间】:2017-04-05 09:37:39
【问题描述】:
有没有办法在 Python 中获取数字的二进制表示?它还必须能够表示负数。我已经尝试过 numpy np.binary_repr(Decimal(-1)) 中的函数,但它会导致错误。准确地说 - 我想以某种方式获得定点数(正数和负数)的二进制表示,因此我可以将它们放入 Verilog 代码中。
假设我有十进制数字1,5。我想用两位精度和三个整数位和一个符号来编写它。在二进制中,这将是0001,10,所以基本上是000110。我可以手动轻松完成此操作,但问题是我也有负数,而且它们在该点之后没有有限扩展(如十进制的1/3)
更准确地说:如果我有一个像 -1.5 这样的数字,十进制一个符号,小数精度为 2,整数精度为 2,我希望数字 110,10 是输出 - 第一个数字是符号,后面两个是数字,后面两个是分数。
【问题讨论】:
-
很有趣,但你能告诉我们输入和预期输出吗? Verilog 与 python 内部数字表示有什么关系?我认为您想改为“模拟” Verilog 代码预期的数字表示。
-
这与 python 的内部数字表示无关。假设我有十进制数字
1,5。我想用两位精度和三个整数位和一个符号来编写它。在二进制中,这将是0001,10,所以基本上是000110。我可以手动轻松地做到这一点,但问题是我也有负数,而且它们在点之后没有有限扩展(如十进制的1/3)。 -
Float to binary的可能重复
-
@kamik423 不,这里是定点而不是浮点。
标签: python-3.x binary fixed-point