我试图以十进制显示一些32位值,除了我的%b和前一个字符之间奇怪的不必要的空格之外,这个工作正常.
例如:如果我有一个32位的reg a,其十进制值为33,我将使用这样的东西
initial
begin
$display("a=%d;", a);
end
Run Code Online (Sandbox Code Playgroud)
cmd中的输出看起来与此类似:a = ___________________33;
该行只表示%b和前一个char之间的长空格.有人可以向我解释为什么会这样吗?我怎么能摆脱他们?
Qiu*_*Qiu 14
在IEEE Std 1800-2012(21.2.1.3)中,您可以找到以下信息:
显示十进制值时,前导零被抑制并替换为空格.在其他基数中,始终显示前导零.
这就是为什么你之前有这么多空间的原因33.实现你想要的最简单的方法是:
$display("a=%0d;", a);
Run Code Online (Sandbox Code Playgroud)
通过0在%字符和d(表示基数的字母)之间添加,可以覆盖显示数据的自动调整大小.结果将以尽可能小的尺寸打印.
| 归档时间: |
|
| 查看次数: |
3700 次 |
| 最近记录: |