MATLAB里将十进制负小数转换成十六进制数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB里将十进制负小数转换成十六进制数相关的知识,希望对你有一定的参考价值。
在MATLAB里设计得到FIR低通滤波器的系数-0.0113 -0.0383 0.2632 0.5800 0.2632 -0.0383 -0.0113。要把他们带入到VISUAL DSP++中的FIR程序中,老师说要把他们*32768,然后转换成十六进制数,可是我真的转换不过来啊,求高手解答!!!
根据你提到的要求,估计你们的DSP是定点的,因此需要把浮点数转化为定点数计算。
把浮点数乘以32768,说明定点数的定标是1,0,15,即1位符号位,0位整数位,15位小数位。
根据这些条件,就可以对浮点数进行转化,程序在附件中,下图为结果:
他这个转换时负整数转换,我这里是负小数,用不了。
MATLAB中二进制数左移怎么实现??
bitshift(num,n);num表示需要移位的数,十进制;
n为正左移,负右移。
eg:
bitshift(2,1)
ans=4;
bitshift(2,2)
ans=8;
bitshift(4,-1)
ans=2;
%自己可以多尝试,看变化。 参考技术A 把它看作一个数列[(1:end),A(1)] 参考技术B C语言中位运算的<<运算符实现二进制左移,MATLAB的二进制左移应该也是一样的吧
以上是关于MATLAB里将十进制负小数转换成十六进制数的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 405. 数字转换为十六进制数(补码的问题) / 166. 分数到小数(模拟长除法) / 482. 密钥格式化