Matlab中的按位操作、進制轉換、讀/寫十六進制和二進制的txt


2020-09-27  14:06:37

整理一些matlab中的按位操作技巧和一些讀/寫txt的函數:

 

函數名稱 函數功能 使用樣例 運行結果 說明
bitget  獲取二進制數某一位的值 A = bitget(8,4); A = 1 十進制數8對應的二進制數(1000)的第4位
A = bitget(8,8: -1:1); A = [0 0 0 0 1 0 0 0] 取出所有位
bitset 設置指定的位為0或1 A = bitset(uint8(9), 4,0) A = 1 將9的第4位設置為0
bitshift 移位操作 A = bitshift(8, -2) A = 2 將8右移2位(第二個參數小於0為右移,大於0為左移)
bitxor  按位異或 A = bitxor(2,9) A = 11 (0010)xor(1001) =(1011)  = 11(dec)
dec2hex 十進制數轉為十六進制數 A = dec2hex(256,4) A = '0100' 將十進制數256轉為4位十六進制數為0x0100(輸入需為整數)
hex2dec 十六進制數轉為十進制數 A = hex2dec('0100') A = 256 將十六進制數0x0100轉為十進制數為256
dec2bin  十進制數轉為二進制數 A = dec2bin (6,8) A = '00000110' 將十進制數6轉為八位的二進制數(輸入需為整數)
bin2dec  二進制數轉為十進制數 A = bin2dec('00000010') A = 2 將二進制數00000010轉為十進制數
sign 判斷正負 A = sign(-5) A = -1 正數返回1,負數返回-1,零返回0
upper 將字母轉為大寫 A = upper('b') A = 'B'  
lower 將字母轉為小寫 A = upper('B') A = 'b'  

 

 

 

        十六進制 二進制
從txt讀出

data_hex = textread('data.txt','%s')';

data_dec = hex2dec(data_hex)';%轉為十進制

data_bin = textread('data.txt','%s')';

data_dec = bin2dec(data_bin)';%轉為十進制

寫入txt

fid = fopen('data.txt','w'); 

temp = ['0x',dec2hex(256)];%十進制256的十六進制為'100',再連接'0x'得到'0x100'

fprintf(fid,'%s\n',temp);

 

fid = fopen('data.txt','w'); 

temp = dec2bin(256);%十進制256的二進制為'100000000'

fprintf(fid,'%s\n',temp);

 

 

參考:

https://blog.csdn.net/qq_41985630/article/details/84313556


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM