簡(jiǎn)介二進(jìn)制、編碼,北太天元軟件把16進(jìn)制的數(shù)轉(zhuǎn)為10進(jìn)制的例子

%十六進(jìn)制(簡(jiǎn)寫為hex或下標(biāo)16)是一種基數(shù)為16的計(jì)數(shù)系統(tǒng),是一種逢16進(jìn)1的進(jìn)位制。
%通常用數(shù)字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F(a、b、c、d、e、f)表示,
%其中:A~F表示10~15,這些稱作十六進(jìn)制數(shù)字。
%0xDF 或者0xdf 表示同一個(gè)16進(jìn)制的數(shù)
%我們以這個(gè)數(shù)字為例子,做16進(jìn)制和10進(jìn)制數(shù)的轉(zhuǎn)換
str = '0xdF';
str1 = upper(str); % 這樣上面的小寫字符會(huì)被轉(zhuǎn)成大寫字符
if( ~ startsWith(str1,'0X') )
???error([str '不是以0x或者0X 開(kāi)頭的16進(jìn)制數(shù)'])
end
result = 0;
for j=3:length(str1)
???if(str1(j) >= '0' && str1(j) <= '9')
??????d = str1(j) - '0' ;
???elseif (str1(j) >= 'A' && str1(j) <= 'F')
??????d = str1(j) - 'A' + 10;
???else
??????error([str '不是合法的16進(jìn)制數(shù)'])
???end
???result = result + d*power(16,length(str1)-j);
end
???disp([str '轉(zhuǎn)成10進(jìn)制的數(shù)是 ' num2str(result)])
disp("我們可以使用北太天元數(shù)值計(jì)算軟件的內(nèi)置函數(shù)str2double來(lái)做這個(gè)轉(zhuǎn)換")
result1 = str2double(str);
disp([str '用str2double轉(zhuǎn)成10進(jìn)制的數(shù)是 ' num2str(result)])