加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2015-04-07 16:28:02)
标签:

app

inventor

16进制

10进制

转换

分类: program
十六进制数由 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个元素开始计算。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有