用汇编实现数字转化为字符串的函数itoa

对于熟悉C语言的大家来说说,itoa这个函数大家一定不会陌生。itoa是广泛应用的非标准C语言扩展函数,它的功能是:将任意类型的数字转换为字符串。

为了更加清楚地让我们知道,如何使用汇编语言来实现这个函数,下面先以用C语言自己实现一个itoa函数,再来说明使用汇编语言实现方法及思想。因为无论是用C语言还是使用汇编语言,其实现思想和方法都是一样的,只是描述的语言不同。但是我们都比较熟悉C语言,而对汇编语言并不是那么的熟悉,所以为了让我们更加好地理解这个函数的汇编语言实现,我借助C语言的力量来类比说明一下。

注:在本文中出现的数字,“xxx”表示数字对应的字符串,‘x'表示单个数字对应的字符,x表示数字。

一、为什么要把数字转化成字符串
在汇编语言中,数字是不能直接输出的,要想把数字输出,就要将其转换成字符串(即字符)的形式,然后再以输出字符的形式来输出字符串。这个就是我要用汇编实现这个函数的最初目的,就是输出数字。当然,把数字转化成字符串还有很的实际的用途。

二、C语言的实现版本
如何把一个数字转化成一个字符串,即数字转化成字符串的算法,在C语言中,相信大家都很熟悉。就是把数字一直除以10直到商为0,把余数加上‘0’的ASCII码,即可得到余数的ASCII码,即数字对应的字符。例如:数字123,转化成字符串,其字符产生的次序就为‘3’,‘2’,‘1’。最后,1除以10,商为0,余数为1。

可以看到生成的字符的顺序与真正的字符串的顺序是
  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值