【发布时间】:2021-10-23 22:40:26
【问题描述】:
我目前正在尝试在 C 代码中创建一个自定义函数,该函数将采用无符号字符数组,例如:array[] = "11000000111111111000000010000000" 作为输入并将其转换为 0xC0FF8080 并将其存储回数组或简单地 printf到控制台。任何有助于消除我对此的困惑的帮助将不胜感激。谢谢!
【问题讨论】:
-
更具体:到目前为止,您尝试了什么?您的困惑是什么原因?
-
首先,如果您使用的是二进制,您可能希望深入到位级别而不是字节级别。每个 unsigned char 有 8 位数据,如果每 1 或 0 使用整个 char,则浪费 7 个数据点。
-
另请参阅 stackoverflow.com/questions/5307656/… 以及在线发布和 Google 支持的无数其他解决方案。
-
只需调用
strtoul(array, NULL, 2)转换为unsigned long,然后使用%lX将其打印出来。 (或snprintf转换为字符串。)
标签: arrays c binary hex data-conversion