一、定点数与浮点数相关概念
定点数:小数点固定在某个位置上的数据。
浮点数:小数点位置可以浮动的数据。
当相同位数的计算机表示数据(比如64位),浮点数能表示的数据范围远远大于定点数表示的数据范围。
当相同位数的计算机表示数据(比如64位),浮点数的相对精度比定点数要高。
二、内置函数conv_float_by与conv_fix_by
回到正题。CCES开发环境中,SHARC架构下,编译器自带的内置函数conv_float_by和conv_fix_by的作用就是进行浮点转换和定点转换。
具体的,如下图2-1所示。
图2-1开发文档截图
CCES代码 测试一
CCES代码 测试二
CCES代码 测试三
CCES代码 测试四
根据测试结果与官网文档说明,个人理解:对于conv_fix_by,输出=val*2^(amount)
相同的,对于conv_float_by,输出=val*2^(amount)
参考文章:1.计算机中的定点数与浮点数 - 知乎
2.计算机中的定点数和浮点数_定点数和浮点数概念_上进的鸭的博客-CSDN博客
3.https://www.analog.com/media/en/dsp-documentation/software-manuals/cces-sharccompiler-manual.pdf