矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 569|回复: 0

ADI DSP中的浮点数

[复制链接]
     
发表于 2023-12-18 12:05:13 | 显示全部楼层 |阅读模式
微信截图_20231218120336.png
微信截图_20231218120322.png

因为在DSP开发时发现,他的浮点数和C语言的浮点数处理不同
花了些时间研究,大致如图,算法不难,主要涉及到很多类型的强制转换

  1. #include <stdio.h>
  2. void showValf(float f){
  3.         printf("%f, %08X, %ld\n",f,(long)(.5+(float)0x800000*f),(long)(.5+(float)0x800000*f));
  4. }
  5. void showVall(long l){
  6.         printf("%d, %08X, %f\n",l,l,(float)l/0x800000);
  7. }
  8. int main(int argc, char *argv[]){
  9.         showValf(1);
  10.         showValf(2);
  11.         showValf(0.0001);
  12.         showValf(0.1);
  13.         showValf(3.16227769851685);
  14.         showVall(839);
  15.         showVall(838861);
  16.         showVall(8388608);
  17.         showVall(26527108);
  18. }
复制代码
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-7 14:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表