問題二可以比較簡單的解決:
fid?=?fopen('222.txt');C?=?fread(fid,?inf,?'int32',?0,?'b');
fclose(fid);
得到C就是要求的矩陣。
問題壹先給壹個不完全正確的程序:
fid?=?fopen('111.txt');C?=?textscan(fid,'%s');
fclose(fid);
C?=?reshape(C{1},?4,?[]).';
CM?=?cell2mat(C);
Data?=?hex2dec(CM)
Data?=?int32(Data)
問題壹的主要麻煩在於,表示負整數的十六進制字符串比如“FFFFFE90”使用hex2dec時,其最高位的1不被認為是負數標誌,而被當做更大的整數處理。因此強制轉換成int32類型後,這些負數都截斷成了int32的最大允許值。這裏還需要進壹步處理。