VC++ WROD DWORD 字节大小
来源:互联网 发布:淘宝商品资质上传技巧 编辑:程序博客网 时间:2024/06/05 20:46
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中使用 << 或 >> 操作符时,逻辑上应该保证尽量使用无符号数(这样可以减少因为符号位在移动后带来的错误几率), 移动的位数尽量小于 变量类型的二进制位数, 否则产生不可预料的错误。
一个WORD类型等价于两个BYTE, 也就是一组16个二进制位标示的数。 而一个DWORD等于两个WORD,也就是32个二进制位。
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++ WROD DWORD 字节大小
- VC 数据类型 BYTE WORD DWORD
- 字节大小
- 字节大小
- DWORD
- DWORD
- DWORD
- dword
- 配置wrod
- 求解字节大小,字节对齐
- 计算字节大小函数
- 大小字节序
- C++类型字节大小
- 字节序-大小端
- 字节序-大小端
- 大小字节序
- 大小字节序
- 大小字节顺序转换
- 最全的CSS浏览器兼容问题
- 正则表达式学习--RegexBuddy工具的使用
- java版 贝塞尔曲线算法
- 6条常用的MySQL查询
- 谈程序在RAM,FLASH 和外部RAM中运行的速度
- VC++ WROD DWORD 字节大小
- Linux下USB HID device driver研究(二)
- 获取浏览器窗口的大小
- C++ primer 13.4消息处理
- div嵌套引起的margin-top不起作用
- 获取windows系统时间
- Google 开源的JavaScript工具和库集锦
- JDK1.5新增特性之VariableParameter可变参数方法
- 18_3抽签