数值转为ASCII数据(猕猴探头)

本文介绍了如何将数值转换为ASCII码表示的字符序列,通过uint8_t函数实现,同时探讨了改进的可能性。作者也分享了自己的编程学习经历,寻求嵌入式编程和PCB板绘制方面的指导。
摘要由CSDN通过智能技术生成

猕猴探头,目录在这儿

前言

今天种下一颗种子,明天也许 被虫子吃掉 ;也许会烂在地里 被虫子吃掉 ;也许,会发芽,然后 被虫子吃掉 ?总之,一天总不会长成参天大树或者一朵花,一颗草?这告诉我们做人要学会坚持,你不努力永远不知道你会遇到什么,变成什么。当然,努力了也不会知道[\doge]。
今天且容我留下几行代码,望它来年长成人工智能助我躺平[\doge]。

将数值转为ASC数据1

uint8_t NUM_ASC(uint32_t num,uint8_t *array)
{
    uint8_t i = 0;
    uint8_t len = 0;
    for(i=0; i<254; i++)//获得10进制数据并转换为ASCII值存进指针
    {
        if (num/10 != 0) {
            array[i] = num%10+48;
            num = num/10;
        }else {
            array[i] = num;
            len = i+1;
            break;
        }
    }
    uint8_t temp = 0;
    for(i=0; i<len/2; i++)//反转数据顺序
    {
        temp = array[i];
        array[i] = array[len-1-i];
        array[len-1-i] = temp;
    }
    return len;
}

其中,uint8_t 是8位无符号整型的别名。以此类推,uint16_t 对应16位无符号整型,uint32_t 对应32位无符号整型。大家可以按照自己的程序对数据类型进行修改。
这个函数实现了ASCII值与整型的转换,其本身也非常简单。

  1. 输入一个存储数据的指针,和一个数值;
  2. 通过不断对数值除以10和对10求余并转为ASCII值存进指针;
  3. 将指针中存储的数据顺序反过来。
  4. 返回数据长度。

目前来看,这个函数似乎还是有改进空间的。比如,将函数中的10更换为2就会得到数值的2进制ASCII数据,欢迎大家留言讨论,共同进步
在此重申,咱们写代码严禁 盲目照搬 哈,这样是不会进步的。
还有一件事

结语

本人社恐,CSDN新人一枚,请大家多担待。平时会经常在CSDN上搜一些东西。现望白嫖一指导本人嵌入式编程及画PCB板的良师,想要自领(免费的学徒\doge)。


  1. ASCII码表中48-57也就是16进制0x30到0x39对应数字0到9,此函数的功能正是基于此实现的 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值