一段最短利用递归的整数转换字符串函数,支持多种进制(2,8,10,16)

minl minl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

[code=Assembly]
/** input
* eax=register to convert
* ecx=register to base (2,8,10,16)
* edi =storage pointer for ascii string
* edx =register to temp
*/
_convert:
xorl %edx,%edx
divl %ecx
pushl %edx
orl %eax,%eax
jz _store
call _convert //recurse
_store:
popl %eax
cmpb $10,%al
jl _L0
addb $('A'-10), %al
jmp _L1
_L0: orb $'0', %al
_L1: stosb
ret
[/code]
...全文

相关推荐

C++实现十六进制字符串转换为十进制整数的方法

在`main`函数中,我们对两个例子进行了测试,分别输出了它们对应的十进制值。通过这个实例,我们可以看到C++如何利用字符串处理和数学运算来实现不同数制间的转换。

weixin_38621272

从零构建Protobuf解析器:逆向工程与二进制协议解析实战

在数据通信与微服务架构中,二进制序列化协议因其高效、紧凑的特性而被广泛应用。Protocol Buffers(Protobuf)作为一种主流的跨语言数据交换格式,其核心原理基于Tag-Length-Value(T-L-V)三元组编码机制,通过Varint可变长整数、ZigZag编码等技术实现高压缩比。理解其编码规则不仅有助于优化数据传输性能,更是进行协议分析、安全审计和**逆向工程**的基础。在实际的**数据抓取**、私有协议分析或遗留系统接口解析场景中,开发者常面临没有.proto定义文件的困境。此时,掌

weixin_33795093

javascript将16进制的字符串转换为10进制整数hex

,JavaScript提供了丰富的内置函数来支持不同进制之间的转换,包括16进制和10进制。

weixin_38670318

C#进制转换函数(2,8,10,16进制之间的转换)

C#中的`Convert`类C#提供了内置的`Convert`类,它支持多种类型之间的转换,包括进制转换。

zhuzi1st

设计算法把一个十进制整数转换为二至九进制之间的任意进制数输出

在计算机科学中,将一个十进制整数转换为其他任意进制(如二进制、八进制、十六进制或介于二至九之间的任何其他进制)是常见的编程任务。这种转换通常用于数据表示、计算以及理解计算机内部工作原理。

天堂de果冻
评论 3
收藏 已收藏
分享
返回顶部
minl
汇编语言 21,500 成员 41,619 内容