delphi数据类型问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi数据类型问题相关的知识,希望对你有一定的参考价值。

在var定义的时候 有的时候用到string有的时候用到real 看着有点乱,怎么辨别什么时候用什么类型呢? 能举例一二?

参考技术A 在delphi中数所类型分为:数值型与字符型
数值型又分整型与实型
整型顾名思义就是整数型,整数又分为有符号整型和无符号整型
实型类型就是有小数的数据类型.
当你在计算时如果计算结果可能需用小数那则用real,至于用哪种精度小数那看你要的精确度了.浮点运算是比较耗CPU的,把数据分成不同类型来提高CPU运行效率,这也是一个原因.
string就是字符串类型,如:'中国人'这就是一个字符串,顾名思义就是多个字符串起来的
char是字符类型,这与字符串是有区别的,char类型占用一个byte,也就是说char类型最多只能装一个字符,比如'a'或'b'如果你赋值的内容超出它的大小则出错.
其实不管各种数据类型到了汇编中就都变成一种类型那就是数值了.
这就是ord('a')为什么等于97的原因了.
你应该看看计算机基础知识,如数据在计算机中怎样存储,位和字节和字的概念,你就会明白了.

Delphi 数据类型列表 good

 

 

 

分类 范围 字节 备注
简单类型 序数 整数 Integer -2147483648 .. 2147483647 4 有符号32位
Cardinal 0 .. 4294967295 4 无符号32位
Shortint -128 .. 127 1 有符号8位
Smallint -32768 .. 32767 2 有符号16位
Longint -2147483648 .. 2147483647 4 有符号32位
Int64 -263 .. 263 8 有符号64位
Byte 0 .. 255 1 无符号8位
Word 0 .. 65535 2 无符号16位
Longword 0 .. 4294967295 4 无符号32位
字符 AnsiChar(Char) ANSI字符集   8位
WideChar Unicode字符集   16位
布尔 Boolean False < True
Ord(False) = 0
Ord(True) = 1
Succ(False) = True
Pred(True) = False
1  
ByteBool False <> True
Ord(False) = 0
Ord(True) <> 0
Succ(False) = True
Pred(False) = True
1  
WordBool 2  
LongBool 4  
枚举        
子界        
实数   Real 5.0×10-324 .. 1.7×10308 8 [精度]15..16
Real48 2.9×10-39 .. 1.7×1038 6 [精度]11..12;
向后兼容
Single 1.5×10-45 .. 3.4×1038 4 [精度]7..8
Double 5.0×10-324 .. 1.7×10308 8 [精度]15..16
Extended 3.6×10-4951 .. 1.1×104932 10 [精度]19..20
Comp -263 + 1 .. 263 - 1 8 [精度]19..20
Currency -922337203685477.5808 .. 
922337203685477.5807
8 [精度]19..20
字符串     ShortString 255个字符 2..256B 向后兼容
AnsiString 大约 231 个字符 4B..2GB 8位(ANSI)字符
WideString 大约 230 个字符 4B..2GB 多用户服务和
多语言应用程序; 
和com定义的BSTR兼容
其他 String
String[0..255]
PChar
PAnsiString
PWideString
   
结构类型 集合   Set 最多256个元素[0..255]    
数组 静态数组        
动态数组        
记录   Record      
文件   File      
  Class      
类引用   Class reference      
接口   Interface      
指针类型 无类型指针   Pointer      
有类型指针 预定义类型指针 PAnsiString
PString
PByteArray
PCurrency
PDouble
PExtended
PSingle
PInteger
POleVariant
PShortString
PTextBuf
PVarRec
PVariant
PWideString
PWordArray
     
过程类型 程序过程类型   Procedural      
对象过程类型   Procedural      
变体类型     Variant      
  OleVariant      

 


http://www.cnblogs.com/del/archive/2007/12/04/982167.html

 

以上是关于delphi数据类型问题的主要内容,如果未能解决你的问题,请参考以下文章

delphi中枚举类型和子界,数组,集合的详解以及类型说明

Delphi 十六进制 数据类型问题

delphi中DWORD是啥数据类型的?

在delphi 7 中各种数据类型占用字节数

Delphi 数据类型列表 good

delphi基础篇之数据类型概论