Free Pascal中有序类型的含义及包含哪些

FreePascal中有序类型包含哪些... Free Pascal中有序类型包含哪些 展开
 我来答
aeiouing1
2013-05-25 · TA获得超过256个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:84万
展开全部
所谓有序类型呢,就是说有限可数个,并且每一个元素都有一个确定的、不可改变的前驱和后继,除了第一个元素和最后一个元素以外。这样理解吧:
integer:范围 -32768~32767,那么它的元素个数就是32767-(-32768)个,每一个元素,比如1,那么它的前驱(就是前一个元素)是0,它的后继(后一个元素)是2,不可能是别的什么数字,我们就说integer是一个有序的类型。
同理,longint也是这样。
但是real、single、double就都不是有序类型了,比如说,你能告诉我real里有多少元素吗?很明显理论上是无限个(在不考虑精度的情况下),具体一点,你能告诉我1的下一个元素是什么吗?1.1?1.01?1.001?1.0001?1.0.......01? ....... 很明显哪个也不能说是它的下一个元素因为你总能举出一个比刚才说的那些数还小而且大于1的元素,因此我们定义它为无序的。

其实检验一个类型是否有序有一个很简单的方法,就是通过for循环检验,所有能够作为for循环循环上下界的都是有序类型,其他的都不是,但是有例外的,比如int64,它也算是有序类型,但是不能使用for循环。

解释一下:
比如说:integer
var
i:integer;
begin
for i:=1 to maxint-1 do
end.
编译通过,所以integer有序。
var
c:char;
begin
for c:='a' to 'z' do
end.
编译也通过,所以char也是有序的。
而当把i的类型换成real、double、string、ansistring的时候,就发现编译错误,因为它们不是有序的,无法判断下一个元素是什么,也就无法进行循环。

有序类型大概有这些:
integer longint shortint word qword byte int64 char 枚举类型
其他的一般都不是有序的,一时说不全,你想问什么可以找我··
123剑321
高赞答主

2013-05-25 · 一个有才华的人
知道大有可为答主
回答量:5750
采纳率:93%
帮助的人:1095万
展开全部
pascal自带:整形、实数类型、字符(串)类型、数组等。
自定义(type):集合、记录等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PCFAN9999
2013-05-24 · TA获得超过3683个赞
知道小有建树答主
回答量:1553
采纳率:50%
帮助的人:502万
展开全部
各种 整形类型(integer, byte, longint, ...), 字符类型(char) 都是有序类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咖啡街的绿茶
2013-05-24 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:81.1万
展开全部
……有序类型貌似很多……还有楼主能不能说明白点……我小白不太好理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式