已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。
上个月关门了。
社区上个月审查了是否重新打开这个问题,并将其关闭:
原始关闭原因未解决
Improve this question的
如何在C语言中从数组0x00,0x50,0x52,0x45,0x01中提取数字0145525000?
#include <stdio.h>
int main()
{
uint8_t arr[] = {0x00, 0x50, 0x52, 0x45, 0x01};
uint32_t number = 0;
// Sorry i dont know how to solve this
printf("Number: %d\n", number);
return 0;
}
字符串
有必要从最后一个元素到零转换成一个无符号整数吗?
1条答案
按热度按时间rdlzhqv91#
十六进制常量
0145525000
,将更正确地写像0x0145525000
包含至少9
十六进制数字(如果忽略前导0
),不能在类型uint32_t
的对象中表示。变量number
应该声明为uint64_t
类型。现在,您需要编写一个循环,将数组
arr
中存在的十六进制值以相反的顺序存储到变量number
中。给你。
字符串
程序输出为
型
for循环中的语句
型
也可以像这样重写
型