如何在C中将十进制文字转换为十六进制,500到0x0500
我有以下内容: 整数数=500; 字符文本[8];
如何使文本最终成为十六进制 0x500 或 1280?
编辑:我发现将其设为文本非常简单,就像在某些答案中一样。但我需要这个文本被 C 解释为十六进制。所以实际上它应该是一个无符号的十六进制 int。
I have the following:
int num=500;
char text[8];
how do I make it so that text ends up being the hex 0x500, or 1280?
edit: i see that its pretty simple to make it text, like in some of the answers. But I need this text to be interpreted as a hex by C. So in reality it should be an unsigned hex int.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我没记错的话,K&R 第二章中有一个练习,要求做这件事。如果您遇到困难,我建议您在维基百科上查找十六进制算术。
There is an exercise in K&R, second chapter if I'm not mistaken, that asks to do this very thing. If you are having difficulties I suggest you look up hexadecimal aritmetic on Wikipedia.
这应该可以做到。
这是假设您故意没有将
num
转换为十六进制,如果这不是故意的,则会创建text
并将整数转换为十六进制:This should do it.
This is assuming you on purposely didn't convert
num
to hexadecimal, if this wasn't on purpose this createstext
with the integer converted to hexadecimal: