gpt4 book ai didi

C 字符串到字节或二进制(8 位)

转载 作者:行者123 更新时间:2023-11-30 18:38:28 29 4
gpt4 key购买 nike

我正在寻找一种用 C 语言将字符串转换为字节或二进制(8 位)的简单方法。我总是会收到 0 到 255 之间的字符串,例如:

  • 如果我收到“0”,我想将其转换为 00000000
  • 如果我收到“255”,我想将其转换为 11111111
  • 如果我收到“128”,我想将其转换为 10000000

这对我很有用,因为我正在为 PIC16F1705 实现 C 语言代码,其中根据通过 EUSART 模块接收到的值,我会将这个值放入 PWM 模块中以控制直流电机的功率。我使用 MPLAB IDE 和 XC8 编译器是为了能够使用 C 而不是汇编。

最佳答案

您可以使用 atoi为此,例如

#include <stdlib.h>

const char *s = "192";
uint8_t val = atoi(s); // val = 192 = 11000000

<小时/>如果您想避免引入库代码,尽管您始终可以推出自己的自定义版本 atoi对于这个特定的用例,例如:

uint8_t atoi_u8(const char *p)
{
uint8_t v = 0;
while (*p)
{
v = v * 10 + *p - '0';
p++;
}
return v;
}

关于C 字符串到字节或二进制(8 位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33940734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com