如何将这些二进制生成的arctan表?

时间:2018-01-31 11:59:51

标签: floating-point verilog

我正在verilog中实现CORDIC。我点这个链接https://github.com/cebarnes/cordic/blob/master/cordic.v

assign atan_table[00] = 'b00100000000000000000000000000000; // 45.000 degrees -> atan(2^0)
assign atan_table[01] = 'b00010010111001000000010100011101; // 26.565 degrees -> atan(2^-1)
assign atan_table[02] = 'b00001001111110110011100001011011; // 14.036 degrees -> atan(2^-2)
assign atan_table[03] = 'b00000101000100010001000111010100; // atan(2^-3)
assign atan_table[04] = 'b00000010100010110000110101000011;
assign atan_table[05] = 'b00000001010001011101011111100001;

但我不明白表是如何生成的。我猜二进制是32位单精度表示浮点(符号+指数+分数)。但是浮点的十进制数是多少?例如arctan_table [01],我尝试了26.565和0.4636,它等于atan(2 ^ -1),但不等于表中的二进制。

0 个答案:

没有答案