简介二进制、编码,北太天元软件把16进制的数转为10进制的例子

%十六进制(简写为hex或下标16)是一种基数为16的计数系统,是一种逢16进1的进位制。
%通常用数字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,这些称作十六进制数字。
%0xDF 或者0xdf 表示同一个16进制的数
%我们以这个数字为例子,做16进制和10进制数的转换
str = '0xdF';
str1 = upper(str); % 这样上面的小写字符会被转成大写字符
if( ~ startsWith(str1,'0X') )
error([str '不是以0x或者0X 开头的16进制数'])
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进制数'])
end
result = result + d*power(16,length(str1)-j);
end
disp([str '转成10进制的数是 ' num2str(result)])
disp("我们可以使用北太天元数值计算软件的内置函数str2double来做这个转换")
result1 = str2double(str);
disp([str '用str2double转成10进制的数是 ' num2str(result)])