首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ASCII到普通数字

从ASCII到普通数字
EN

Stack Overflow用户
提问于 2010-06-23 05:01:42
回答 3查看 296关注 0票数 2

我有一些关于汇编的问题,有没有可能在没有10 compares and branches的情况下转换数字(0,1,2,3,4,5,6,7,8,9)的ASCII码

代码语言:javascript
复制
if(input == 48) return 0;
...

(我说的是汇编上的代码!)提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-23 05:04:09

return input-'0';

当然,考虑到输入是一个数字,这一点是肯定的。你可以用C语言检查它,如下所示:

if(input >= '0‘& input <= '9')....

票数 6
EN

Stack Overflow用户

发布于 2010-06-23 05:06:27

只需减去48 (字符0的ASCII值)。

代码语言:javascript
复制
SUB EAX, 48

确切的语法取决于您使用的特定处理器和汇编程序。

票数 2
EN

Stack Overflow用户

发布于 2010-06-23 05:07:41

我不是一个组装的人,但是this建议你可以使用

代码语言:javascript
复制
sub     ebx, 48

从存储在相应寄存器中的ascii代码中减去48。当然,这是以英特尔组装为前提的,但我可以想象其他公司也有类似的功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3097116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档