关于32位系统中int,float,short float,double等占多少个字节

关于short int、long、float、double的使用介绍
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。 short int 短整型 2个字节 值范围 - long 长整型 4个字节 值范围 -~ float 单精度 4个字节 值范围 -3.4*10(-38)~3.4*
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。&
short int 短整型 2个字节 值范围 -&
long 长整型 4个字节 值范围 -~ float 单精度 4个字节 值范围 -3.4*10(-38)~3.4*10(38)&
double 双精度 8个字节 值范围 -1.7*10(-308)~1.7*10(308)&
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。 在DBF中,整数与浮点数都是以字符形式存储的。例如:-3.134存储为&-3.135&,共占了6个字符。&
对于Access中的短整型,存储为DBF中的字段宽度为6;&
对于Access中的长整型,存储为DBF中的字段宽度为11;&
对于Access中的单精度,存储为DBF中的字段宽度为18,小数位为7;&
对于Access中的双精度,存储为DBF中的字段宽度为24,小数位为15。&
就是说,access中的单精度、双精度数据,转储到DBF中很难保证精度。&
(责任编辑:admin)
------分隔线----------------------------
系统相关 win2003 win2008服务器代维安全配置全套架构专员请联系脚本之家专员: Window...
IT168?????/?汾С?3?800???δе???С?3????????36294????/?汾С?3????èС???? ???? ?...
7月12日消息,据香港经济日报报道,资金持续流入,金管局于昨日港股收市后再承接美元...
笔者目前就职于一家小型企业,公司的网络环境还比较落后,随着市场化的需要公司老板要...
智能手机和平板电脑的普及,产生了越来越多的移动端客户流量,尽管基于手机和平板电脑...
南家塘社区空置10多年的地块建成了生态停车场,可为开车来汽车西站接送旅客的市民免费...IP协议里的Time To Live(TTL)
IP协议里的Time To Live(TTL)
TTL:(Time To Live ) 生存时间
  指定数据包被路由器丢弃之前允许通过的网段数量。
  TTL 是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。
转发 IP数据包时,要求路由器至少将 TTL 减小 1。
反复这样操作,最终可能造成两个结果:包在这个值还为正数的时候到达了目的地,或者是在经过一定数量的节点后,这个值减为了0。
在这个值为0的时候,网络设备将不会再传递这个包而是直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。
不同的操作系统,它的TTL值默认值是不相同的。默认情况下,Linux系统的TTL值为64或255,
Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
  使用PING时涉及到的ICMP报文类型
  一个为ICMP请求回显(ICMP Echo Request)
  一个为ICMP回显应答(ICMP Echo Reply)
  TTL 字段值可以帮助我们识别操作系统类型。
  UNIX 及类 UNIX操作系统 ICMP 回显应答的 TTL 字段值为 255
  Compaq Tru64 5.0 ICMP回显应答的 TTL 字段值为 64
  WINXP-32bit 回显应答的 TTL 字段值为 64
  微软 Windows NT/2K/2003操作系统 ICMP 回显应答的 TTL 字段值为&128
  微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
  当然,返回的TTL值是相同的。但有些情况下有所特殊
  LINUX Kernel 2.2.x & 2.4.x
& & ICMP 回显应答的 TTL 字段值为 64
我的热门文章
即使是一小步也想与你分享在32位、64位操作系统下各数据类型所占的字节数
时间: 17:09:19
&&&& 阅读:211
&&&& 评论:
&&&& 收藏:0
标签:& & & &
& & & & 在32位、64位系统当中,唯一改变的是指针的长度;在32位系统当中是4个字节、64位则是8个字节。所谓的32位、64位,这个指的是寄存器的位宽。
& & & & 32位平台下结果:
& & & & 64位平台下结果:
&一、下面几点是值得大家注意的:
1、关于 int 的取值范围,缺省的int数值范围是由编译器设计者决定的,通常都是机器最为自然高效的位数。甚至,我们在32位的机器上,前提没有什么指令可以高效的的处理更短的整型值,我们可以将short、int、long都设置成32位。
2、浮点数在缺省的情况下 表示的是double,但是你可以在后面加上L/l或者F/f来表明其long double 或者是 float数据类型。
3、当移植问题比较重要的时候,最佳的方案就是将使用的char值限制在 unsigned char 和 signed char取值范围之间。并且只当显示的声明signed char 和unsigned char时, 才对其执行算数运算;这是考虑到char虽然在设计上是为了存储字符,但是在很多实际应用当中,尤其是嵌入式产品设计当中,本质上我们用它存储小整数,不同的编译器会将缺省的char视为unsigned或者是
signed,但是有些机器在处理signed char上得心应手,硬性将其变为unsigned,效率可能受损。所以还要有些矛盾的指出,全部显示的声明为 unsigned char 和 signed char 并不是上上之策。
二、在32位操作系统下:
&&&&&&int&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4字节
&&&&&&longint&&&&&&&&&&&&&&&&&&&&&4字节
&&&&&&shortint&&&&&&&&&&&&&&&&&&&2字节
&&&&&&unsignedint&&&&&&&&&&&&&4字节
&&&&&&unsignedlong int&&&&&4字节
&&&&&&unsignedshort int&&&&2字节
&&&&&&char&&&&&&&&&&&&&&&&&&&&&&&&&&1字节
&&&&&&unsignedchar&&&&&&&&&&&1字节
&&&&&&float&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4字节
&&&&&&double&&&&&&&&&&&&&&&&&&&&&&&&&&8字节
&&&&&&longdouble&&&&&&&&&&&&&&&&&&8字节
&&&&&&unsigned&longdouble&&&8字节
&&&&&&unsigneddouble&&&&&&&&&&&4字节
4:字符串型
&&&&&&string&&&&&&&&&&&&&&&&&&&&&&&&&&&32字节
5:指针类型
&&&&&&所有类型的指针都是 4字节
&&&&&&除了void型。其他都函数占有的字节数等于函数的返回类型所占有的字节数。与函数体内部无关。
如:float &fun(){ return 2;}
&&&&&&sizeof(fun())= 8
7:结构体、类
&&&&&&内部各数据类型占用之和,注意边界对齐。
如:&struct fun1
&&&&&&&//1
sizeof(fun1)=24
truct fun2
&&&&&&&//1
sizeof(fun2)=8
&&&&structfun3
&&&&&&&&&//32
&&&&&&char b,c,d;&&&&&//3
sizeof(fun3)=36
8:联合体union
&&&&&&取其中占有字节数最大的数据类型所占有的字节数。
三、对于64位操作系统中应该注意以下几点:
64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。
1. 32 位和 64 位C数据类型
32和64位C语言内置数据类型,如下表所示:
上表中第一行的大写字母和数字含义如下所示:
I表示:int类型
L表示:long类型
P表示:pointer指针类型
32表示:32位系统
64表示64位系统
&&& 如:LP64表示,在64位系统下的long类型和pointer类型长度为64位。
&&& 64位Linux 使用了 LP64 标准,即:long类型和pointer类型长度为64位,其他类型的长度和32位系统下相同类型的长度相同,32位和64位下类型的长度比较见上图的蓝色部分。
&&& 下图为在32和64位linux系统下使用sizeof检测出的数据类型的长度。
32位平台下结果:
64位平台下结果:
2.&64系统下开发注意事项:
2.1 格式化字符串:long使用%ld,指针使用%p,例如:
1.&& char&*ptr&=&&&&
2.&& printf&(%x\n&,&ptr);&&
上面的代码在 64
位系统上不正确,只显示低 4字节的内容。正确的方法是:使用 %p,如下:
1.&& char&*ptr&=&&&&
2.&& printf&(%p\n&,&ptr);&&
2.2 数字常量:常量要加L
例1,常数 0xFFFFFFFF 是一个有符号的 long 类型。在 32 位系统上,这会将所有位都置位(每位全为 1),但是在 64 位系统上,只有低 32 位被置位了,结果是这个值是 0xFFFFFFFF。
例2,在下面的代码中,a 的最大值可以是 31。这是因为 1 && a 是 int 类型的。
1.&& long&l&=&1&&&&a;&&
要在 64位系统上进行位移,应使用 1L,如下所示:
1.&& long&l&=&1L&&&&a;&&
2.3 符号扩展:避免有符号数与无符号数运算,例如:
1.&& int&i&=&-2;&&
2.&& unsigned&int&j&=&1;&&
3.&& long&l&=&i&+&j;&&
4.&& printf(&Answer:&%ld\n&,l);&&
32位下是-1,在64位下是。原因在于表达式(i+j)是一个unsignedint表达式,但把它赋值给k时,符号位没有被扩展。要解决这个问题,两端的操作数只要均为signed或均为unsigned就可。
2.4 转换截断(只要是位数大的数据类型转换成位数小的数据类型时都会出现截断效应,会产生数据误差,在不同数据类型进行运算时,系统一般会自动进行数据类型转换,但此时是位数小的数据类型自动转换成位数大的数据类型,这样不会产生数据误差):
转换截断发生在把long转换成int时,如下例:
1.&& int&length&=&(int)&strlen(str);&&
strlen返回size_t(它在LP64中是unsignedlong),当赋值给一个int时,截断是必然发生的。而通常,截断只会在str的长度大于2GB时才会发生,这种情况在程序中一般不会出现。虽然如此,也应该尽量使用适当的多态类型(如size_t、uintptr_t等等)。
2.5 赋值:
不要交换使用 int 和 long 类型,例如:
1.&& int&i;&&
2.&& long int a =&l;&&
3.&& i&=&a;&&
不要使用 int 类型来存储指针,例如:
1.&& unsigned&int&i,&*&&
2.&& i&=&(unsigned)&&&
不要使用指针来存放 int 类型的值。例如:
1.&& int&*&&
2.&& int&i;&&
3.&& ptr&=&(int&*)&i;&&
2.6 移植到64位环境下的性能:
移植到64位平台后,性能实际上降低了。原因是64位中的指针长度和数据大小有关,并由此引发的缓存命中率降低、数据对齐等问题。通过改变结构中数据排列的先后顺序,会因为少了填充数据,存储空间也随之减少。如:
2.7 程序中链接到的库要使用64位的库。
由上可见所有的问题都是由long和指针长度改变引起,在开发过程中只有牢记long和指针类型的长度。
&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!char&,int,long,float,double,等在64位和32位下分别占多少字节
<span STYLE="CoLor: #
<span STYLE="CoLor: #&
<span STYLE="CoLor: #
大多数4,少数8&
<span STYLE="CoLor: #
<span STYLE="CoLor: #&
<span STYLE="CoLor: #
<span STYLE="CoLor: #&
<span STYLE="CoLor: #
<span STYLE="CoLor: #&
<span STYLE="CoLor: #
<span STYLE="CoLor: #
& &标准c++数据类型
·&&&&&& &
数据类型名称
由决定,即与操作系统的"字长"有关
unsigned int
由操作系统决定,即与操作系统的"字长"有关
&128 到 127
&32,768 到 32,767
&2,147,483,648 到 2,147,483,647
&9,223,372,036,854,775,808 到
9,223,372,036,854,775,807
false 或 true
&128 到 127
unsigned char
&32,768 到 32,767
unsigned short
0 到 65,535
&2,147,483,648 到 2,147,483,647
&9,223,372,036,854,775,808 到
9,223,372,036,854,775,807
unsigned long
0 到 4,294,967,295
由操作系统决定,即与操作系统的"字长"有关
3.4E +/- 38 (7 digits)
1.7E +/- 308 (15 digits)
long double
1.7E +/- 308 (15 digits)
0 到 65,535
·&&&&&& Windows API 定义的数据类型
Windows数据类型
定义过程(来历)
unsigned short
unsigned short→WORD→ATOM
在Atom表中,一键(16位整数)一值(一个String)为一个Atom。
逻辑变量,布尔值 (取值为 TRUE 或 FALSE)
unsigned char
unsigned char→BYTE→BOOLEAN
逻辑变量,布尔值 (取值为 TRUE 或 FALSE)
unsigned char
unsigned char→BYTE
字节型,8位。
__stdcall→CALLBACK
回调函数的调用约定
char→CHAR
8位Windows字符(ANSI)
unsigned long
unsigned long→DWORD→COLORREF
红,绿,蓝(RGB)值
const→CONST
CRITICAL_SECTION
RTL_CRITICAL_SECTION结构体
RTL_CRITICAL_SECTION(结构)→CRITICAL_SECTION
Critical-section对象
unsigned long
unsigned long→DWORD
32位无符号整数
unsigned long
unsigned long→ULONG_PTR→DWORD_PTR(另有其它路径)
略……(用处挺大,不过太长了)
unsigned int
unsigned int→DWORD32
32位无符号整数
unsigned __int64
unsigned __int64→DWORD64
64位无符号整数
float→FLOAT
浮点数变量
HACCEL__结构体指针
由DECLARE_HANDLE(name)宏定义的指向HACCEL__结构体的指针
快捷键列表的句柄
void *(一个地址)
void *→HANDLE
对象的句柄
HBITMAP__结构体指针
由DECLARE_HANDLE(name)宏定义的指向HBITMAP__结构体的指针
位图的句柄
HBRUSH__结构体指针
由DECLARE_HANDLE(name)宏定义……
画刷的句柄
HCONV__结构体指针
由DECLARE_HANDLE(name)宏定义……
动态数据交换(DDE)会话的句柄
HCONVLIST__结构体指针
由DECLARE_HANDLE(name)宏定义……
动态数据交换(DDE)会话列表的句柄
HICON__结构体指针
HICON__ *→HICON→HCURSOR
光标的句柄
HDC__结构体指针
由DECLARE_HANDLE(name)宏定义……
设备上下文(DC)的句柄
HDDEDATA__结构体指针
由DECLARE_HANDLE(name)宏定义……
动态数据交换数据的句柄
HDESK__结构体指针
由DECLARE_HANDLE(name)宏定义……
桌面(Desktop)的句柄
HDROP__结构体指针
由DECLARE_HANDLE(name)宏定义……
Handle to an internal drop structure.
void *(一个地址)
void *→HANDLE→HDWP
Handle to a deferred window position
structure.
HENHMETAFILE
HENHMETAFILE__结构体指针
由DECLARE_HANDLE(name)宏定义……
增强图元文件的句柄
int→HFILE
由OpenFile(而不是CreateFile)打开的文件的句柄.
HFONT__结构体指针
由DECLARE_HANDLE(name)宏定义……
字体的句柄
void near *
void NEAR *→HGDIOBJ
GDI对象的句柄
void *(一个地址)
void *→HANDLE→HGLOBAL
全局内存块的句柄
HHOOK__结构体指针
由DECLARE_HANDLE(name)宏定义……
句子(hook)的句柄
HICON__结构体指针
由DECLARE_HANDLE(name)宏定义……
图标的句柄
HIMAGELIST
_IMAGELIST结构体指针
_IMAGELIST *→HIMAGELIST
图片列表的句柄
HIMC__结构体指针
由DECLARE_HANDLE(name)宏定义……
输入上下文的句柄
HINSTANCE__结构体指针
由DECLARE_HANDLE(name)宏定义……
实例的句柄
HKEY__结构体指针
由DECLARE_HANDLE(name)宏定义……(另有一条路径,一样)
注册表键的句柄
HKL__结构体指针
由DECLARE_HANDLE(name)宏定义……
输入点标识符
void *(一个地址)
void *→HANDLE→HLOCAL
本地内存块的句柄
HMENU__结构体指针
由DECLARE_HANDLE(name)宏定义……
菜单的句柄
HMETAFILE__结构体指针
由DECLARE_HANDLE(name)宏定义……
图元文件的句柄
HINSTANCE__结构体指针
HINSTANCE__*→HINSTANCE→HMODULE
模块的句柄。值由模块的位置来决定。
HMONITOR__结构体指针
由DECLARE_HANDLE(name)宏定义……
显示器的句柄
HPALETTE__结构体指针
由DECLARE_HANDLE(name)宏定义……
调色板的句柄
HPEN__结构体指针
由DECLARE_HANDLE(name)宏定义……
画(线)笔的句柄
HRGN__结构体指针
由DECLARE_HANDLE(name)宏定义……
区域的句柄
HRSRC__结构体指针
由DECLARE_HANDLE(name)宏定义……
资源的句柄
HSZ__结构体指针
由DECLARE_HANDLE(name)宏定义……
动态数据交换(DDE)字符串的句柄
HWINSTA__结构体指针
由DECLARE_HANDLE(name)宏定义……
窗口状态的句柄
HWND__结构体指针
由DECLARE_HANDLE(name)宏定义……
窗口的句柄
32位有符号整数
int(_W64 int即__w64 int)
int→INT_PTR,_W64就是__w64,是为了解决32位与64位编译器的兼容性而设置的关键字
用于指针运算
signed int
signed int→INT32
32位有符号整数
signed __int64
signed __int64→INT64
64位有符号整数
unsigned short
unsigned short→WORD→LANGID
语言标识符
unsigned long
unsigned long→DWORD→LCID
Locale identifier.
unsigned long
unsigned long→DWORD→LCTYPE
Locale information type.
long→LONG
32位有符号整数
_W64 long→LONG_PTR
用于指针运算
signed int
signed int→LONG32
32位有符号整数
__int64→LONG64
64位有符号整数
__int64→LONGLONG
64位有符号整数
_W64 long→LONG_PTR→LPARAM
消息的参数
int→BOOL, BOOL far *→LPBOOL
BOOL类型的指针
unsigned char *
unsigned char→BYTE,BYTE far *→LPBYTE
BYTE类型的指针
LPCOLORREF
unsigned long *
unsigned long→WORD,DWORD *→LPCOLORREF
颜色值的指针
LPCRITICAL_SECTION
RTL_CRITICAL_SECTION结构体指针
RTL_CRITICAL_SECTION
*PRTL_CRITICAL_SECTION→,PRTL_CRITICAL_SECTION→LPCRITICAL_SECTION
CRITICAL_SECTION的指针
静态char *
char→CHAR,CONST CHAR *→LPCSTR
静态8位Windows字符(ANSI)无终结字符串指针
静态wchar_t *
wchar_t→WCHAR,CONST WCHAR
*→LPCWSTR,LPCWSTR→LPCTSTR
如果UNICODE已定义则为LPCWSTR,否则为LPCTSTR
静态void *
CONST void far *→LPCVOID
任何类型的静态指针
静态wchar_t *
wchar_t→WCHAR,CONST WCHAR *→LPCWSTR
静态16位Windows字符(Unicode)无终结字符串指针
unsigned long *
unsigned long→DWORD,DWORD far *→LPDWORD
DWORD的指针
指向句柄的指针
void *→HANDLE,HANDLE FAR *→LPHANDLE
HANDLE的指针
int far *→LPINT
long far *→LPLONG
LONG的指针
char→CHAR,CHAR *→LPSTR
8位Windows字符(ANSI)无终结字符串指针
wchar_t WCHAR,WCHAR *→LPWSTR,LPWSTR→LPTSTR
An LPWSTR if UNICODE is defined, an LPSTR
otherwise.
void far *→LPVOID
任何类型的指针
unsigned short *
unsigned short→WORD,WORD far *→LPWORD
WORD的指针
wchar_t→WCHAR,WCHAR *→LPWSTR
16位Windows字符(ANSI)无终结字符串指针
_W64 long→LONG_PTR→LRESULT
有符号的消息处理结果
局部唯一标识符
int→BOOL,BOOL near *→PBOOL
BOOL的指针
unsigned char *
unsigned char→BYTE→BOOLEAN,BOOLEAN *→PBOOLEAN
BOOL的指针
unsigned char *
unsigned char→BYTE,BYTE near *→PBYTE
BYTE的指针
char→CHAR,CHAR *→PCHAR
CHAR的指针
PCRITICAL_SECTION
RTL_CRITICAL_SECTION结构体指针
RTL_CRITICAL_SECTION
*→PRTL_CRITICAL_SECTION,PRTL_CRITICAL_SECTION→PCRITICAL_SECTION
CRITICAL_SECTION的指针
静态char *
char→CHAR,CONST CHAR *→PCSTR
静态8位Windows字符(ANSI)无终结字符串指针
静态wchar_t *
wchar_t→WCHAR,CONST WCHAR
*→LPCWSTR,LPCWSTR→PCTSTR
如果UNICODE已定义则为PCWSTR,否则为PCSTR
静态wchar_t *
wchar_t→WCHAR,CONST WCHAR *→PCWCH
WCHAR的静态指针
静态wchar_t *
wchar_t→WCHAR,CONST WCHAR *→PCWSTR
静态16位Windows字符(Unicode)无终结字符串指针
unsigned long *
unsigned long→DWORD,DWORD near *→PDWORD
DWORD的指针
float→FLOAT,FLOAT *→PFLOAT
FLOAT的指针
指向句柄的指针
void *→HANDLE,HANDLE *→PHANDLE
HANDLE的指针
指向HKEY的指针
HKEY__ *→HKEY *→PHKEY
HKEY的指针
int near *→PINT
unsigned long *
unsigned long→DWORD,DWORD near *→PDWORD→PLCID
LCID的指针
long→LONG,LONG *→PLONG
LONG的指针
LUID结构体指针
LUID *→PLUID
LUID的指针
POINTER_32
void *→POINTER_32
32位指针(详解略)
POINTER_64
void *→POINTER_64
64位指针(详解略)
short→SHORT,SHORT *→PSHORT
SHORT的指针
char→CHAR,CHAR *→PSTR
8位Windows字符(ANSI)无终结字符串指针
wchar_t→WCHAR,WCHAR *→PTBYTE
TBYTE的指针
wchar_t→WCHAR,WCHAR *→PTCHAR
TCHAR的指针
wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR
PWSTR if UNICODE is defined, a PSTR
otherwise.
wchar_t→WCHAR,WCHAR *→PTBYTE
TBYTE的指针
wchar_t→WCHAR,WCHAR *→PTCHAR
TCHAR的指针
wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR
A PWSTR if UNICODE is defined, a PSTR
otherwise.
unsigned char *
unsigned char→UCHAR,UCHAR *→PUCHAR
UCHAR的指针
unsigned int *
unsigned int *→PUINT(呵呵,为什么不用UINT*来定义呢?)
UINT的指针
unsigned long *
unsigned long→ULONG,ULONG *→PULONG
ULONG的指针
unsigned short *
unsigned short→USHORT,USHORT *→PUSHORT
USHORT的指针
void *→PVOID
任何类型的指针
wchar_t→WCHAR,WCHAR *→PWCHAR
WCHAR的指针
unsigned short *
unsigned short→WORD,WORD near *→PWORD
WORD的指针
wchar_t→WCHAR,WCHAR *→PWSTR
16位Windows字符(Unicode)无终结字符串指针
unsigned long
unsigned long→DWORD→ACCESS_MASK→REGSAM
注册表值的安全访问掩码
SC_HANDLE__结构体指针
由DECLARE_HANDLE(name)宏定义……
Handle to a service control manager database.
void far *→LPVOID→SC_LOCK
Handle to a service control manager database
SERVICE_STATUS_HANDLE
SERVICE_STATUS_HANDLE__结构体指针
由DECLARE_HANDLE(name)宏定义……
Handle to a service status value.
short→SHORT
短整数类型(16位)
unsigned long
unsigned long→ULONG_PTR→SIZE_T
指针可指向的最大字节数
_W64 long→LONG_PTR→SSIZE_T
有符号SIZE_T.
wchar_t→WCHAR,WCHAR→TBYTE
如果UNICODE已定义则为WCHAR,否则为CHAR
wchar_t→WCHAR,WCHAR→TCHAR
如果UNICODE已定义则为WCHAR,否则为CHAR
unsigned char
unsigned char→UCHAR
无符号CHAR
unsigned int
unsigned int→UINT
unsigned int
unsigned int→UINT_PTR
无符号INT_PTR.
unsigned int
unsigned int→UINT32
无符号INT32.
unsigned __int64
unsigned __int64→UINT64
无符号INT64.
unsigned long
unsigned long→ULONG
无符号LONG.
unsigned long
unsigned long→ULONG_PTR
无符号LONG_PTR.
unsigned int
unsigned int→ULONG32
无符号LONG32
unsigned __int64
unsigned __int64→ULONG64
无符号LONG64
unsigned __int64
unsigned __int64→ULONGLONG
64位无符号整数
没查到,大家帮忙吧
无符号属性
unsigned short
unsigned short→USHORT
无符号SHORT类型
void→VOID
wchar_t→WCHAR
16位Unicode字符
__stdcall→WINAPI
系统函数(API函数)调用约定
unsigned short
unsigned short→WORD
16位无符号整数
unsigned int
unsigned int→UINT_PTR→WPARAM
·&&&&&& MFC定义的数据类型
对应于near
对应于const
32位无符号整型,对应于unsigned int
8位无符号整型,对应于unsigned char
16位无符号整型,对应于unsigned short int
32位无符号长整型,对应于unsigned long int
32位长整型,对应于long
64位长整型
浮点型,对应于float
Boolean值(TRUE or FALSE即1 或 0)
Windows字符
32位字符指针
32位字符串指针,指向一个常数字符串
32位字符串指针
32位字符串指针,指向一个常数字符串,用于移植到Unicode集
32位字符串指针,用于移植到Unicode集
32位指针,指向一个未定义类型的数据
32位消息参数,作为窗口函数或回调函数(call back)的参数
32位数值,作为窗口函数或回调函数的返回值
16位或32位数值,作为窗口函数或回调函数的参数
32位数值,代表一个颜色值
指向回调函数的指针
32位指针,指向一个窗口函数
对象句柄,其他还有HPEN、HWND、HCURSOR、HDC、HFILE等
32位指针,指向一个RECT结构的常量
一个数值,代表collection对象(例如数组或链表)中的元素位置,常使用于MFC
collection classes
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 float和short 的文章

 

随机推荐