C将十六进制转换为十进制格式
发布时间:2020-12-16 10:49:58 所属栏目:百科 来源:网络整理
导读:使用 gcc在 linux上编译. 我想将其转换为十六进制. 10这将是一个. 我设法做到这一点将下面的代码. unsigned int index = 10;char index_buff[5] = {0};sprintf(index_buff,"0x%x",index);data_t.un32Index = port_buff; 但问题是我需要将它分配给一个结构 我
使用
gcc在
linux上编译.
我想将其转换为十六进制. 10这将是一个. unsigned int index = 10; char index_buff[5] = {0}; sprintf(index_buff,"0x%x",index); data_t.un32Index = port_buff; 但问题是我需要将它分配给一个结构 但这有效: data_t.un32index = 0xa; 但是,我的示例代码不起作用,因为它认为我试图转换 我试过这个,但这也失败了 data_t.un32index = (unsigned int) *index_buff; 非常感谢任何建议, 解决方法
咦?如果您在变量中有值,则十进制/十六进制无关紧要.做就是了
data_t.un32index = index; 十进制和十六进制只是打印数字时的符号,因此人们可以阅读它们. 对于C(或C,或Java,或其中这些类型为“基元”的语言中的任何一种,其语义与机器寄存器的语义非常匹配)整数变量,它所拥有的值永远不能说是“十六进制” . 该值保存在二进制文件中(在所有典型的现代电子计算机中,本质上是数字和二进制的)在内存或寄存器中备份变量,然后您可以生成各种字符串表示,这时您需要选择一个基数到使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |