深入理解十六進制和二進制值的表示
您可以將數(shù)字表示為十六進制或二進制值,這種表示在某些情況下更為方便。例如,在MATLAB中,有兩種方法來表示十六進制和二進制值:作為文字或作為字符串或字符向量。從R2019b版本開始,您可以使用適當?shù)?/p>
您可以將數(shù)字表示為十六進制或二進制值,這種表示在某些情況下更為方便。例如,在MATLAB中,有兩種方法來表示十六進制和二進制值:作為文字或作為字符串或字符向量。從R2019b版本開始,您可以使用適當?shù)那熬Y以表示法將這些值編寫為文字,比如0x2A代表42。值得注意的是,MATLAB會將這些值存儲為數(shù)字而不是文本。
使用不同前綴寫整數(shù)的十六進制和二進制表示法
在MATLAB中,使用a0x或0X前綴可以表示十六進制文字,而使用a0b或0B前綴可以表示二進制文字。這些符號表示的數(shù)字會被存儲為整數(shù),例如,a0x2A和b0b101010都代表整數(shù)42。在寫這些數(shù)字時,請勿使用引號,MATLAB會根據(jù)具體情況選擇最小的無符號整數(shù)類型進行存儲。
指定整數(shù)類型的后綴
除了默認的存儲方式外,您還可以使用不同的后綴來指定存儲值的整數(shù)類型。為了表示無符號8位、16位、32位和64位整數(shù)類型,可以使用后綴u8、u16、u32和u64;而要表示帶符號的整數(shù)類型,則可以使用s8、s16、s32和s64后綴。舉例來說,如果要存儲一個帶符號的32位整數(shù),可以寫成a0x2As32。在指定符號的情況下,可以編寫表示負數(shù)的文字,MATLAB會用二進制補碼表示負數(shù)。
將整數(shù)轉換為十六進制和二進制文本表示
通過使用dec2hex和dec2bin函數(shù),您可以將整數(shù)轉換為十六進制或二進制值的字符向量。比如,將整數(shù)255轉換為十六進制可以得到hexStr dec2hex(255);將整數(shù)16轉換為二進制可以得到binStr dec2bin(16)。這些函數(shù)生成的是文本形式,適合用于標題、標簽或存儲文件中。
將數(shù)字數(shù)組的十六進制值表示為文本
若要將數(shù)字數(shù)組轉換為文本,推薦使用compose函數(shù)。該函數(shù)返回一個與輸入數(shù)字數(shù)組大小相同的字符串數(shù)組,并可使用%X作為格式說明符生成十六進制格式。例如,對于數(shù)組A[255 16 12 1024 137],可以通過hexStr compose(" %X", A)來表示其十六進制值。
將二進制值轉換為十六進制
要將二進制值轉換為十六進制,只需將二進制文字直接作為參數(shù)傳遞給dec2hex函數(shù)即可。比如,對于D0b1111,可以得到hexStr dec2hex(D)。反之,如果想將十六進制值轉換為二進制,也是類似的操作,將十六進制文字傳遞給dec2bin函數(shù)即可完成轉換。