How can we convert negative double value to binary value in matlab?

2 次查看(过去 30 天)
I'm the student of UCSY.I research for audio scrambling. In my research, I need to scarmble audio data with key using bit wise xor.Now,I have difficulties to convert negative float value to binary value to scramble. Please, anyone can help me?? I would be grateful if someone help me in this matter.
  6 个评论
Walter Roberson
Walter Roberson 2018-2-4
num2bin() is for Fixed Point Objects, not for general numbers.
num2bin returns characters, so subtract '0' (the character for the digit 0) to get the numeric values.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-2-3
If you are reading the audio data from a file, I recommend that you add the 'native' option. That would usually result in the data being read in as integer, which you can then manipulate.
Otherwise, easiest is probably to typecast() the floating to integer form.

更多回答(1 个)

Matt J
Matt J 2018-2-3
编辑:Matt J 2018-2-3
Use BITGET, for example,
>> bitget(-25,1:8,'int8')
ans =
1 1 1 0 0 1 1 1
  1 个评论
Walter Roberson
Walter Roberson 2018-2-3
That only works for values that are integers.
You can experiment with
bitget(typecast(-25.2, 'uint64'), 1:8)
but beware that the byte order might not be what you are expecting.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by