matlab如何讀取十六進位制的dat檔案

2022-03-04 20:33:29 字數 2173 閱讀 8505

1樓:shine戚七七

讀取二進位制txt檔案:

假如txt文件中內容為0001 0010 0011 0100 1000,儲存在pin.txt文件中

使用a=textread('pin.txt','%s')'

a ='0001' '0010' '0011' '0100' '1000'

可以看到資料儲存為了char格式。

使用bin2dec

b=bin2dec(a)'

b =1 2 3 4 8

可以看到成功地轉換成了十進位制檔案。

十六進位制檔案:

0001 0010 0011 0100 1000 a b c aa

a=textread('pin.txt','%s')'

a ='0001' '0010' '0011' '0100' '1000' 'a' 'b' 'c' 'aa'

可以看到成功讀取了檔案。

b=hex2dec(a)'

b =1 16 17 256 4096 10 11 12 170

讀取完畢。

將16進位制資料轉換成10進位制後還需要將資料進行儲存。可以用dlmwrite函式,dlmwrite('c:\b.

txt',b,'delimiter', ' ') %將得出資料存入新的b.txt文件。

2樓:

跟你的進位制沒有多大關係,直接使用load函式即可

matlab自帶hex2dec函式的

怎樣用matlab讀取十六進位制的dat檔案,如圖所示

3樓:匿名使用者

fid = fopen('檔名');

a = fscanf(fid,'%x');

直接讀取為一個十進位制的陣列。

4樓:匿名使用者

把你資料中的0x去掉就好了

matlab怎樣讀取txt檔案中的十六進位制數

5樓:匿名使用者

%%%%%%16進位制轉10進位制 轉化方法一%%%%%%%%%%%%

a=textread('c:\a.txt','%s')';%以字元形式開啟檔案

alpha=hex2dec(a)'; %16進位制轉化為10進位制數,存入alpha矩陣

%%%%%%%16進位制轉10進位制 轉化方法二%%%%%%%%%%%

[wenjian_ming,lujing_ming] = uigetfile('c:\a.txt','匯入資料');

fid=fopen(strcat(lujing_ming,wenjian_ming),'r');

data=;

while ~feof(fid)

m=fscanf(fid,'%3x',[1 inf]);

data=[data;m]; %將讀出的資料存入data矩陣中

endalpha=data;

%%%%%%%儲存檔案方法一%%%%%%%%%%%%%%

dlmwrite('c:\b.txt',alpha,'delimiter', ' ') %將得出資料存入新的b.txt文件

%%%%%%%儲存檔案方法二%%%%%%%%%%%%%%

fid=fopen('c:\d.txt','w');

fprintf(fid,'%d ',alpha');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alpha2=alpha(1:2:length(alpha)-mod(length(alpha)+1,2)); %將奇數元素提取出來

dlmwrite('c:\c.txt',alpha2,'delimiter', ' ') %將得出資料存入新的c.txt文件

%%%%%%%畫圖%%%%%%%%%%%%%%

plot(1:length(alpha2),alpha2) %畫圖

matlab 怎麼讀取dat檔案

6樓:匿名使用者

ls是一個辦法

如果全是數字的話,直接load進來再分列也行

十六進位制數如何轉換成十進位制,十六進位制轉換成十進位制的具體演算法?

16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0...

為什麼在使用scanf 函式讀取十六進位制數時,不要輸入ox字首?有什麼影響嗎

0x之類的字首不只是給人看的,另一個作用是告訴編譯器這是什麼進位制的數,因為十進位制的123和十六進位制的123 用十進位制表示就是291 看起來是一模一樣的,但是由於scanf 函式已經知道了輸入的是十六進位制數,就不用再告訴它一遍了 我認為字首只是給人看的,方便閱讀者識別資料而機器中儲存的資料,...

十六進位制轉換成二進位制怎麼轉換,十六進位制如何轉換成二進位制

幾進位制就是逢幾進一,如十進位制,最常用的吧,每到十的時候就往前一位進一。同理,二進位制與十六進位制也是這個道理。16進位制中,由於阿拉伯數字只有0 9的表示,因此需用大寫英文字母前六個 即a e 來補充,其中的a 10,b 11,c 12,d 13,e 14,f 15。至於十進位制轉換為十六進位制...