首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将分贝值转换为正值?

如何将分贝值转换为正值?
EN

Stack Overflow用户
提问于 2011-06-29 06:24:22
回答 3查看 2.3K关注 0票数 3

我得到的分贝值是负值。我只想在从0到100的图形上绘制这些值。那么有没有办法把分贝值转换成正值呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-29 06:36:30

只需使用fabs() C++方法

fabs函数双fabs ( double X );浮动fabs ( float X );长双fabs ( long double X );计算绝对值

返回x( /x/ )的绝对值。

在C++中,abs也在此标头中声明,具有相同的行为。

参数x浮点值。

返回值x的绝对值。

可移植性在C中,只有此函数的双倍版本具有此名称。

fabs reference

票数 -3
EN

Stack Overflow用户

发布于 2011-06-29 06:49:15

0 dB通常对应于全比例输入(请记住,普通的dB scale实际上定义的是比率,而不是绝对值,因此0 dB的含义有点随意)。例如,对于16位音频,值的范围通常从0 dB-96 dB。要在0 - 100的规模上表示这一点,您只需添加96 dB,将此范围扩大到0..+96 dB

票数 6
EN

Stack Overflow用户

发布于 2011-06-29 06:38:37

这不是一个特定于分贝的解决方案,但是如果你想要你的刻度在0-100之间,取你的最小值(让我们称之为minVal),然后加上-minVal得到0。然后除以你的最大值,再乘以100。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6516510

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文