我爱Aspx >> Asp.Net >> Delphi中布尔类型辨析| Delphi中布尔类型辨析 苏涌(2000-09-29) | |
| 现做简单辨析供大家参考。 一、从资源占用的角度进行比较 一项Boolean 类型的数据占用 1字节的内存; 一项ByteBool类型的数据占用 1字节的内存; 一项WordBool类型的数据占用 2字节的内存; 一项LongBool类型的数据占用 4字节的内存。 如果开发者在进行程序设计时将构造一种含有布尔数据类型的结构类型,那么在资源占用方面将有所考虑。尽管这些数据类型之间是可以相互赋值的,但某些特殊情况下是有区别的。首先看下面的语句: type ByteBoolFile = file of ByteBool; LongBoolFile = file of LongBool; 这里,如果在这两中类型文件中存储相同数量的布尔值,其文件大小是不同的。而对同一物理文件按照这两种类型文件分别读取数据,其结果更是相去甚远。 下面是比较ByteBool和LongBool的一段程序,得到的文件 test1.bin和 test2.bin的文件尺寸分别为 4字节和16字节。 procedure CompareByteBoolWithLongBool; const FName1 = 'c: est1.bin'; FName2 = 'c: est2.bin'; type ByteBoolFile = file of ByteBool; LongBoolFile = file of LongBool; var BF: ByteBoolFile; LF: LongBoolFile; B: Boolean; begin B := False; AssignFile(BF, FName1); Rewrite(BF); Write(BF, B, B, B, B); CloseFile(BF); AssignFile(LF, FName2); Rewrite(LF); Write(LF, B, B, B, B); CloseFile(LF); end; 有兴趣的朋友可以在此基础上再比较一下读取数据的区别,你会有更奇特的发现。 Ҷƪл˵?һƪ在servlet中直接写端口发送邮件的例子
|