2013-08-21 55 views

回答

0

您可以獲取十六進制字符串使用函數dec2hex表示一個數字。對於二進制表示有dec2bin

在一般情況下,您可以在數字base格式找到一個表示爲一些d如下:

d = 97; % example 
base = 2; % can be 10, 16, whatever... 

rep=rem(floor(d*base.^(1-ceil(log(d)/log(base)):0)),base) 

% check: 
rep*base.^[length(rep)-1:-1:0]' 

它適用於列向量了。

1

看來你正在尋找一種以二進制形式(即非ASCII)讀取文件的方式。您可以使用fread。例如,考慮下面的例子:

fid = fopen('sample.wav', 'r'); %// Open the file 
A = fread(fid, 'uint8');   %// Read binary contents 
fclose(fid);      %// Close the file 

這將通過閱讀字節輸入文件「sample.wav」字節(如無符號的8位整數)到陣列A。請注意,當您顯示A的內容時,您會看到它的十進制值。例如,字節0x1A將被讀爲十進制26(「十六進制」和「二進制」只是替代方式來表示相同的值)。

一旦填充A,您可以通過比較值的另一個數組(可能來自另一個.WAV文件中讀取),操縱它......