c语言uint8 t转字符串,如何将uint8_t显示为整数或字符串?

我正在试用一个将十进制数转换为二进制数的函数,我想看看它是否有效。问题是我在用C语言写一个小微控制器,我没有很多基本的操作,比如printf。我使用的库只能以字符串或双字符串的形式向LCD屏幕发送信息,因此检查此函数是否工作的唯一方法是将二进制数字以字符串或整数的形式发送到LCD屏幕(如果二进制数字为1010,则整数为1010,而不是10)。

我可以使用的库有:

stdint

stdio

avr/io

avr/interrupt

util/delay

stdlib

有人知道如何才能做到这一点,仅使用上述库吗?

编辑:根据注释请求包含代码。我用来将十进制转换为二进制的代码是:

uint8_t dec_to_bin(void){

int n = 100;

long long binaryNumber = 0;

int remainder, i = 1;

while (n!=0){

remainder = n%2;

n /= 2;

binaryNumber += remainder*i;

i *= 10;

}

return binaryNumber;

}

然后在主要功能中,我有:

uint8_t a = dec_to_bin();

sprintf(a, "%u");

这将返回错误:错误:传递“sprintf”的参数1将使指针不带强制转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值