Welcome

首页 / 软件开发 / C++ / Vdsp(bf561)中的浮点运算(2):float的疑问

Vdsp(bf561)中的浮点运算(2):float的疑问2010-02-01 csdn博客 快乐虾写一行很简单的C代码:

float a = 1234.56;

用vdsp编译后的汇编代码为:

R0 = 20972 ( X ) ;

R0.H = 17562 ;

[ FP + 0x10 ] = R0 ;

有点看不懂,呵呵,R0的值转换为十六进制就是0x449A51EC。根据vdsp文档的说法,其单精度浮点数格式为:

浮点数计算公式:

将0x449A51EC转换为二进制:

0100 0100 1001 1010 0101 0001 1110 1100

可得:

Sign = 0

Mantissa = 001 1010 0101 0001 1110 1100

Exponent = 1000 1001

按照公式