如何在C语言中将二进制数组转换成十六进制
所以现在我有一个二进制数字数组,比如{1,1,1,1,0,0,0},我试图找出如何将这个数组转换成C语言中'uint8_t'类型的十六进制数字(在这个例子中,我希望它是0xf0),除非我正在努力想办法。到目前为止,我已经能够将数字转换为十六进制字符串,但我希望它是无符号整数类型。谁能给我一些建议吗?谢谢大家! 试试这个如何在C语言中将二进制数组转换成十六进制,c,hex,byte,C,Hex,Byte,所以现在我有一个二进制数字数组,比如{1,1,1,1,0,0,0},我试图找出如何将这个数组转换成C语言中'uint8_t'类型的十六进制数字(在这个例子中,我希望它是0xf0),除非我正在努力想办法。到目前为止,我已经能够将数字转换为十六进制字符串,但我希望它是无符号整数类型。谁能给我一些建议吗?谢谢大家! 试试这个 #include <stdio.h> #include <stdint.h> uint16_t ConvertToDec(uint16_t* bits,
#include <stdio.h>
#include <stdint.h>
uint16_t ConvertToDec(uint16_t* bits, uint16_t size)
{
uint16_t result = 0;
for (uint16_t i = 0; i < size; i++) {
result |= bits[i];
if(i != size-1)
result <<= 1;
}
return result;
}
int main()
{
uint16_t bits[] = { 1, 1, 1, 1, 0, 0, 0, 0 };
uint16_t len = (sizeof(bits) / sizeof(bits[0])); // get array size
uint16_t result = ConvertToDec(bits, len);
char hex[20];
sprintf(hex, "0x%02X", result);
printf("%s", hex);
return 0;
}
#包括
#包括
uint16\u t转换器TODEC(uint16\u t*位,uint16\u t大小)
{
uint16_t结果=0;
对于(uint16_t i=0;i 结果“转换为十六进制”是什么意思?一旦您可以使用%x打印此int
(在您的情况下是uint8\u t
)
这是Hello,谢谢!我想了几个问题。首先,为什么你的convert_to_dec函数中有I