在32位arm处理器下(意思是不能用long long int),怎么把16位的16进制,转化为10进制的数,再转化为字符串

在32位arm处理器下(意思是不能用long long int),,怎么把16位的16进制(如:0x000512b5b8799888)转化为16位的10进制的数(如:1427946576910472),再转化为字符串“1427946576910472”

1、十六进制转十进制,按照long long int能表示的最大十进制数,做除以1后边带N个零的除法(具体多少个零懒得数了,哈哈),比如双字节最大表示65535,那就除10000,余数再除以1000,以此类推到得到个位,这每一步的商从高位开始存入一个数组。

2、十进制数转字符串,建立一个0到9的数组ASCII码表,发送时到存放十进制数的数组里取一个数,用它做ASCII码表数组的下标,就得到对应的ASCII码,这样一位一位处理就行了。
温馨提示:答案为网友推荐,仅供参考