如何使用C语言将整数值转换为其相应的十六进制并将其存储在单字节变量中
How can i convert an integer value into its corresponding hex and store it in a single byte variable using C language
如何使用C语言将整数值转换成相应的十六进制并存储在单字节变量中?
int nVar = 24; // where hex value 0x18
BYTE byRes;
char sBuff[8] = {0};
sprintf(sBuff, "%x", nVar);
其中sBuff[0] = 0x30和sBuff[1] = 0x38,但这不是我要找的。我想保存十六进制值的nVar在byRes变量
谢谢
注意,"decimal"或"十六进制"只是数值的表示。换句话说,这些是在屏幕上显示和int
的不同方式。分配byRes = (BYTE)nVar;
会将nVar
的值复制给byRes
。如果需要,可以将该值显示为十六进制或十进制或以7为基数或以42为基数。现代计算机以电压差的形式存储数据。在机器级别,我们通常认为这些是"高"answers"低"或"0"answers"1"(又称二进制),但在编程级别,我们可以用任何我们想要的方式来考虑这些数值。将一个变量的"十六进制"值赋给另一个变量与将"十进制"值赋给另一个变量是一样的,因为计算机不知道我们如何看待这个值,直到我们要求它显示它。当你这样做时(例如使用printf()
调用),计算机将值转换为ASCII字符,这些字符不再是我们正在操作的整数值。
C语言中的所有数字(以及其他一切)都用二进制表示。0x18和24的值是一致的。只有当您想要将它们表示为字符串时才重要。
相关文章:
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 在类中存储单例的指针
- 为什么 bool 和 _Bool 如果它们在内存中占用 1 个字节,它们只能存储 0 或 1
- 如何在 XML 中正确存储原始字节数据并恢复它?
- 哪些值存储在对齐的结构/类对象的填充字节中
- C++:矩阵高斯消除不起作用:使用单维数组来存储元素
- 如何使用连接器 c++ 在 mySQL 表二进制(16) 字段中存储 c++ 字节数组?
- 使用字节向量作为其他类型的原始存储是一种好的做法吗
- 使用字节数组具有单字节对齐方式的结构是否安全
- 我可以在没有临时变量的情况下将单字节写入文件吗?
- 如何将浮子值的字节存储在字符串中并以后检索值
- 现代x86硬件可以不将单个字节存储到内存中吗
- 将两个单浮子存储在一个中
- 如何将 BYTE 数组中的两个字节存储为 int(或类似的东西)
- C++递减单字节(易失性)数组的元素不是原子!为什么?(还有:如何在Atmel AVR mcus/Arduino中强制原
- Winsock send() 单字节传输的问题
- 将字节[4]存储在int中
- 通过boost::asio传输混合unicode和单字节字符的最佳方式
- 在MBCS操作系统上运行单字节字符应用程序的风险
- 如何使用C语言将整数值转换为其相应的十六进制并将其存储在单字节变量中