DWORD 是表示32位那它和int型有区别吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DWORD 是表示32位那它和int型有区别吗相关的知识,希望对你有一定的参考价值。
比如 DWORD CClient::RecvDataThread(void* pParam)可以换成
int CClient::RecvDataThread(void* pParam) 吗?
int 32位有符号整数
DWORD 32位无符号整数
typedef unsigned long DWORD;
DWORD 一般用于返回值不会有负数的情况。
到底是用 int 还是 DWORD,要看具体情况。
例如你的 RecvDataThread 想用 -1 表示接收出错(Socket 函数很多也是用 -1 (SOCKET_ERROR) 的返回值代表失败,那么就应该用 int 返回值类型。 参考技术A 数据类型不相同,当然有区别了。
DWORD是双精度类型,可以存放带精度的数值,比如123456.789。
int是整数类型,只能存放整数类型,如123,-34567. 参考技术B int在16位机上是16位
32位机上是32位
...
typedef unsigned long DWORD; 参考技术C DWORD在哪里都是32位
INT不是!所以DWORD用的多!
有人问过一下问题
我发现有人用DWORD保存端口号,为什么不用int保存端口号呢?
难道linux下面没有int吗?还是c下面没有int?
关于int 跟unsigned int 取值 范围
i nt的取值范围 为什么-32768 ~32767 int 取值不是 16位 那应该是-65535~65535 还有 unsigned int 为什么最大值65535 而 int是32767不是 都是16位整形吗
在内存中占16位,而且是以2进制形式,16位,是指二进制有16个位数比如1111 1111 1111 1111 表示65535,带符号的,有一个标志位是决定变量的正负,0111 1111 1111 1111和1111 1111 1111 1111就表示负正,其中一位表示符号位,其他15位表示值,不知道你理解了吗,表达不是很好,希望对你有帮助。 参考技术A int:基本整型,当字节数为2时 取值范围为-32768~32767,当字节数为4时 取值范围负的2的31次方 到 2的31次方减1
unsigned int:无符号基本整型,当字节数为2时 取值范围为0~6535,当字节数为4时 取值范围为0到2的32次方减1 参考技术B java没有无符号类型。int类型的取值范围也不是-32768-----32767,这是shot类型。
int类型看这个
http://zhidao.baidu.com/question/176374554.html?sort=6&old=1&afterAnswer=1#reply-box-1243080946
以上是关于DWORD 是表示32位那它和int型有区别吗的主要内容,如果未能解决你的问题,请参考以下文章