gpt4 book ai didi

将二进制字符串转换为十六进制字符串 C

转载 作者:太空宇宙 更新时间:2023-11-04 01:52:57 29 4
gpt4 key购买 nike

正如标题所说,我对在 C 中将二进制字符串转换为十六进制字符串的最佳方法很感兴趣。二进制字符串最多为 4 位,因此最好转换为单个十六进制字符。

感谢您的帮助,我不确定是否有内置的东西可以使这更容易,所以我还没有尝试发布。

最佳答案

可以使用strtol将二进制字符串转换为整数,然后使用sprintf将整数转换为十六进制字符串:

char* binaryString = "1101";

// convert binary string to integer
int value = (int)strtol(binaryString, NULL, 2);

// convert integer to hex string
char hexString[12]; // long enough for any 32-bit value, 4-byte aligned
sprintf(hexString, "%x", value);

// output hex string
printf(hexString);

输出:

d

如果保证是单个十六进制字符,只需使用 hexString[0]

关于将二进制字符串转换为十六进制字符串 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041030/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com