C++ 整数与字节相互转换(X86)
2011-05-03 09:44
471 查看
templatevoid CIntegerBytes::ToBytesT(const T& num, BYTE *lpBytes) const { size_t size(sizeof (T)); for (size_t i = 0; i < size; ++i) lpBytes[i] = (BYTE) (num >> (( (size - 1) - i ) * 8)); } template void CIntegerBytes::FromBytesT(const BYTE *lpBytes, T& num) const { size_t size(sizeof (T)); BYTE byMask(0xFF); T temp(0); num = 0; for (size_t i = 0; i < size; ++i) { num <<= 8; temp = (T) (lpBytes[i] & byMask); num |= temp; } }
注意只支持整数转换,转换类型如下
#ifndef _WINDOWS_ typedef unsigned char BYTE; typedef short SHORT; typedef unsigned short USHORT; typedef int INT; typedef unsigned int UINT; typedef long LONG; typedef unsigned long ULONG; typedef long long LONGLONG; typedef unsigned long long ULONGLONG; #endif
short -100(0x9CFF)转换后为(0xFF9C)
相关文章推荐
- 任意进制整数之间的相互转换(C++实现)
- C++字符串和整数相互转换
- 任意进制整数之间的相互转换(C++实现)
- 【整理】C/C++中字符串与整数之间的相互转换
- 在VC中整数和16进制四字节间的相互转换
- C++实现字符串和整数之间的相互转换
- C++多字节字符与宽字节字符相互转换
- C++抽象编程——字符串与整数之间的相互转换详解
- 在Java中字节与十六进制的相互转换主要思想有两点
- C++中时间与字符串之间的相互转换
- C++字符串数字相互转换
- char * 与 string 类型相互转换方法--C/C++
- C++中int与string的相互转换
- c++中char*\wchar_t*\string\wstring之间的相互转换
- 几种C++ std::string和std::wstring相互转换的转换方法
- C++数值类型与string的相互转换
- 【C++】char*,const char*,string的相互转换
- 字符串与字节数组相互转换
- Java字节、十进制、十六进制、字符串之间的相互转换