新浪博客

App Inventor例程:十六进制数转换为十进制数

2015-04-07 16:28阅读:
十六进制数由 0~9 及 a~f 共16个字符组成,其中 a~f 分别表示 10~15。假设有16进制数 0eaf,其转换为十进制数的计算方法为:0×163 + 14×162 + 10×161 + 15×160结果为 0+3584+160+15 = 3759。这个结果可以用Windows自带的计算器加以验证。

一、用户界面

App <wbr>Inventor例程:十六进制数转换为十进制数

二、代码
App <wbr>Inventor例程:十六进制数转换为十进制数

App <wbr>Inventor例程:十六进制数转换为十进制数

三、测试结果
App <wbr>Inventor例程:十六进制数转换为十进制数


程序非常简单,但是在将16进制数的字符串分解为列表时,出现了异常情况。注意到,在Hex转Dec的过程中,循环变量的起始值是2,而不是1,原因是App Inventor在将一个字符串(如'eaf')用空字符('')作为分隔符分解为列表时,列表的长度本应为3,列表元素为(e, a, f),但实际上分解后所得列表的长度为4,其中列表的第一个元素为空字符,即列表为('', e, a, f),这是开发工具本身的bug,为了获得正确的结果,只能忽略列表的第一个元素,从第2个元素开始计算。

我的更多文章

下载客户端阅读体验更佳

APP专享