gpt4 book ai didi

c - 从字符串元素中取值并将取值与两位数相加

转载 作者:行者123 更新时间:2023-11-30 14:32:17 25 4
gpt4 key购买 nike

我想从字符串中获取值,然后将获取的值与两位数相加:

uint8_t buff[] = "Test123";
uint8_t result = 0;
result = buff[5] + 12;

如果我尝试用单位数(0,1,2,..,9)添加取值,一切都可以,但是如果我想用两位数(10,11,12, 13,...,99) 我得到了结果 ASCII 代码。我该如何解决这个问题?选角不值得。

我期望结果为 14,但得到了 62。因此,程序将字符串的 ASCII 值与 12 相加,但我想将 buff[5] 的整数值与 12 相加,我想要这个结果 = 12 + 2 = 14

最佳答案

您得到 62 的原因是您添加的是 ASCII 字符 2 的十进制值,而不是它的整数表示形式。

要将字符转换为整数,我们必须这样做

result = (buf[5] - '0') + 12;               /* first way */

result = ((uint8_t)(buf[5] & 0x0F)) + 12; /* second way */

第一种方式:字符2的ASCII十进制值为50,字符0的ASCII十进制值为48 > => '2' - '0' = 2

第二种方式:09字符的十六进制值为[0x30, 0x31, ..., 0x39]。我们可以看到第一个半字节对应于字符的整数表示,这意味着我们可以关闭其十六进制值的高位半字节。

关于c - 从字符串元素中取值并将取值与两位数相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59894492/

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