bits和real之间的转换系统函数

bits, real, shortreal之间的转换

系统函数说明
$bitstoreal64bit的整数转换为双精度浮点数
$bitstoshortreal把64bit的整数转换为单精度浮点数
$realtobits双精度浮点数据转换为63bit整数
$shortrealtobits单精度浮点数据转换为63bit整数

例如:

	localparam [31:0] test = 32'h3fb0d05d;
	localparam [63:0] test2 = 64'h3fb0d05d;
	localparam [63:0] test3 = 64'hc00e35603fb0d05d;
	localparam [63:0] test_long = 64'h_3FF61A0BE5109071;
	real rr = 3.14;

	initial begin
		$display("$bitstoreal(test) = %h = %f", test, $bitstoreal(test));
    	$display("$bitstoreal(test3) = %h = %f", test3, $bitstoreal(test3));
		$display("$bitstoreal(test_long) = %h = %f", test_long, $bitstoreal(test_long));
    	
		$display("$bitstoshortreal(test) = %h = %f", test, $bitstoshortreal(test));
    	$display("$bitstoshortreal(test2) = %h = %f", test2, $bitstoshortreal(test2));

		$display("$realtobits(rr)		= %f = %h ", rr, $realtobits(rr)	);
		$display("$shortrealtobits(rr)  = %f = %h ", rr, $shortrealtobits(rr)	);
	end

打印结果:

# $bitstoreal(test) = 3fb0d05d = 0.000000
# $bitstoreal(test3) = c00e35603fb0d05d = -3.776062
# $bitstoreal(test_long) = 3ff61a0be5109071 = 1.381359
# $bitstoshortreal(test) = 3fb0d05d = 1.381359
# $bitstoshortreal(test2) = 000000003fb0d05d = 1.381359
# $realtobits(rr)		= 3.140000 = 40091eb851eb851f 
# $shortrealtobits(rr)  = 3.140000 = 4048f5c3 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值