茶叶提香机:VC中关于BYTE, WORD, DWORD及其与2, 16进制之间的关系总结
来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 22:39:37
VC中的变量类型不是一般的多,什么BYTE, WORD, DWORD, LPARAM, WPARAM, USHORT, UCHAR...像我这样VC还处于入门级别的人很容易混淆(实事求是地讲我从来没搞明白过*^_^*)。越是这样越是从基础开始补啊,要不然到将来对VC根深入的学习时都不知道问题出在哪里。
总结一下,BYTE, WORD, DWORD和进制之间的关系,当时在Digital circuit课程中感觉硬件学的还可以,所以现在理解并不困难。
具体地讲, VC中,一个BYTE类型代表8个二进制位,也就是类似00000000~11111111一串二进制数。
一个WORD类型等价于两个BYTE, 也就是一组16个二进制位标示的数。 而一个DWORD等于两个WORD,也就是32个二进制位。
每4个二进制位等价于一个16进制数的基数,所以, 一个字节可以用二个16进制基数来表示。 16进制基数与BYTE, WORD, DWORD有如下关系。
BYTE = 0xFF FF
WORD = 2 * BYTE = 0xFF FF FF FF
DWORD = 2 * WORD = 4 * BYTE = 0x FF FF FF FF FF FF FF FF
当在VC中使用 << 或 >> 操作符时,逻辑上应该保证尽量使用无符号数(这样可以减少因为符号位在移动后带来的错误几率), 移动的位数尽量小于 变量类型的二进制位数, 否则产生不可预料的错误。
总结一下,BYTE, WORD, DWORD和进制之间的关系,当时在Digital circuit课程中感觉硬件学的还可以,所以现在理解并不困难。
具体地讲, VC中,一个BYTE类型代表8个二进制位,也就是类似00000000~11111111一串二进制数。
一个WORD类型等价于两个BYTE, 也就是一组16个二进制位标示的数。 而一个DWORD等于两个WORD,也就是32个二进制位。
每4个二进制位等价于一个16进制数的基数,所以, 一个字节可以用二个16进制基数来表示。 16进制基数与BYTE, WORD, DWORD有如下关系。
BYTE = 0xFF FF
WORD = 2 * BYTE = 0xFF FF FF FF
DWORD = 2 * WORD = 4 * BYTE = 0x FF FF FF FF FF FF FF FF
当在VC中使用 << 或 >> 操作符时,逻辑上应该保证尽量使用无符号数(这样可以减少因为符号位在移动后带来的错误几率), 移动的位数尽量小于 变量类型的二进制位数, 否则产生不可预料的错误。
int a = 31;
int x = 0xFFFFFFFF;
cout << typeid(0xFFFFFFFF).name() << endl;
cout << typeid(0x0FFFFFFF).name() << endl;
cout << int(0xFFFFFFFF >> 31) << endl;
cout << int(x >> 31) << endl;
cout << int(0xFFFFFFFF >> a) << endl;
输出:Debug/Release下均为 unsigned int, int, 1, -1, 1
VC中关于BYTE, WORD, DWORD及其与2, 16进制之间的关系总结
BYTE WORD DWORD
关于生克,举例如下,妻财乙卯木在此卦中与日月及其他爻之间的生克冲合关系是怎样?
用VC实现word和txt之间的转换1
关于vc/c++时间函数的总结
搞笑:VC(风险投资)与泡妞的关系2
vc中调用Flex的总结
整理:java整型数与网络字节序的 byte[] 数组转换关系
VC++中使用_RecordSetPtr总结
短中.长线两者之间的关系
关于技术指标中“背离”的总结2
搞笑:VC(风险投资)与泡妞的关系
从几首诗例谈中国古典诗歌中形象与情意之间的关系
从几首诗例谈中国古典诗歌中形象与情意之间的关系
古典诗歌中“景”与“情”之间的几种关系
白发与身体健康状态之间的关系
技术分析与操纵之间的关系
摄影模特与摄影艺术之间的关系
板栗与减肥之间的关系。
市盈率与增长率之间的关系
崔中乔讲名字与健康之间的关系
脏与脏之间的关系
学会处理与许多人之间的关系
五脏之间的关系与养生