将长整型值打印为带有前导零的十六进制
Printing long value to hex with leading zeroes
我一直在使用这个函数来打印带有 4 位小数的前导零的 int 值,效果很好。
使用 Arduino IDE 1.8.12
void printHex(int num, int precision)
{
Serial.println(num);
char tmp[16];
char format[128];
sprintf(format, "%%.%dX", precision);
sprintf(tmp, format, num);
Serial.println(tmp);
}
调用函数printHex(100,4)
会打印出0064
我现在想打印小数点后 5 位的长值,但它并不像我想象的那么简单。
例如printHex(200000,5)
应该打印出30D40
,printHex(0,5)
应该打印00000
我尝试将 int num 更改为长 num 并打印 5 位数字,但 MSB 始终为 0
目前我得到的是00D40
而不是30D40
想通了,不得不在冲刺中使用uint32_t和长
void printHex(uint32_t num, int precision)
{
char tmp[16];
char format[128];
sprintf(format, "%%0%dlX", precision);
sprintf(tmp, format, num);
Serial.print(tmp);
}
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 将长整型值打印为带有前导零的十六进制
- 将字符串中以十六进制形式存储的负长整型值转换为 C++ 中的长整型变量
- 将40个字节长的数据框从十六进制转换为二进制,然后转换为十进制
- 如何在 c++ 中将十六进制字符串转换为长整型字符串
- C strtoll 十六进制到无符号长
- 如何在 C++ 中存储长十六进制值消息
- 以十六进制形式打印的无符号字符太长
- C++将长十六进制字符串转换为二进制
- 将十六进制二进制或十进制字符串转换为长整型字符串C++
- 在 c++ 中将长整型转换为十六进制和二进制
- 十六进制到长双c++
- 从无符号长十六进制转换为DWORD
- 不能同时将ASCII字符转换为整型和十六进制
- 使用一个十六进制整型从编辑框(WinAPI)
- 在C++中,用十六进制或八进制表示的整型文字的默认类型是什么
- 如何将十六进制字符串转换为无符号长整型字符串
- 十六进制到整型的转换在不同的环境中表现不同
- 如何使用C语言将整数值转换为其相应的十六进制并将其存储在单字节变量中
- 如何从数组中向后读取十六进制字符并将其转换为整型