这是场景-
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main()
{
uint8_t backoff;
char* value = "300000";
backoff=atoi(value);
printf("value = %s\n", value);
printf("backoff value = %d\n", backoff);
return (0);
}输出如下-
value = 300000
backoff value = 224有人能帮我了解一下这个转换是怎么发生的吗?
发布于 2021-06-09 16:55:55
很简单。uint8_t的值为0到255。您至少需要uint32_t (uint16_t max 65535)。224是适用于8位int的真正答案的位。
https://stackoverflow.com/questions/67908540
复制相似问题