第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 ;: bInary N个字节的序列。 该论域的值用于保存二进制数据。一个二进制值作为一个指向字节序列的 指针实现,该指针代表二进制项的内容。 二进制项的长度在紧接于字节序列之前的双字中。实际上这个双字包含: TotaINumberofBytes By Binary ByteLen 4 这里 ByteLen是二进制项的长度,而4是双字占用的字节数。 只有赋值和比较操作使用二进制论域的值。 以下比较两个二进制项:如果它们的长度大小不一,则认为长的那个比较 大。否则,将它们视为无符号值,逐字节比较。当发现两个不同字节时比 较结束,它们比较的结果就是二进制项比较的结果。若两个二进制项长度 相同,所有的字节也相同,则认为它们相同。 2004.11.3 A|程序设计
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 11 14.3 内部论域详解 ::binary N个字节的序列。 该论域的值用于保存二进制数据。一个二进制值作为一个指向字节序列的 指针实现,该指针代表二进制项的内容。 二进制项的长度在紧接于字节序列之前的双字中。实际上这个双字包含: TotalNumberOfBytesOccupiedByBinary = ByteLen + 4 这里 ByteLen是二进制项的长度,而4是双字占用的字节数。 只有赋值和比较操作使用二进制论域的值。 以下比较两个二进制项:如果它们的长度大小不一,则认为长的那个比较 大。否则,将它们视为无符号值,逐字节比较。当发现两个不同字节时比 较结束,它们比较的结果就是二进制项比较的结果。若两个二进制项长度 相同,所有的字节也相同,则认为它们相同
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 ::integer integer 有符号整型数。该论域的值占据4个字 dec number Ox hex number 节。算术运算(+,一,,*、比较、赋 Oo oct number 值、diⅤ、mod操作可应用该论域的值。 oct number ct digit-l 整数允许的范围为从-2147483648至 oct digit one of 2147483647。 01234567 dec number 整数映像的语法由整数规则确定: dec digit-list dec digit: one of oct_ digit 8 9 hex number hex_ digit-list hex digit: one of dec digit a bcde f ABCDEF 2004.11.3 A|程序设计 12
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 12 14.3 内部论域详解 ::integer 有符号整型数。该论域的值占据4个字 节。算术运算(+, -, /, *)、比较、赋 值、div、mod操作可应用该论域的值。 整数允许的范围为从-2147483648 至 2147483647。 整数映像的语法由整数规则确定: integer : dec_number 0x hex_number 0o oct_number oct_number : oct_digit-list oct_digit : one of 0 1 2 3 4 5 6 7 dec_number : dec_digit-list dec_digit : one of oct_digit 8 9 hex_number : hex_digit-list hex_digit : one of dec_digit a b c d e f A B C D E F
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 : unsigned 无符号整型数。 该论域的值占4个字节。算术操作(+,-,/,*)、比较、赋值、dⅳv以及mod 操作可应用该论域的值 无符号整数映像的语法与整数的一样。无符号整数不能使用负号,允许 数的范围为从0至4294967295。 2004.11.3 A|程序设计 13
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 13 14.3 内部论域详解 ::unsigned 无符号整型数。 该论域的值占4个字节。算术操作(+, -, /, *)、比较、赋值、div以及mod 操作可应用该论域的值。 无符号整数映像的语法与整数的一样。无符号整数不能使用负号,允许 数的范围为从0 至 4294967295
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 rea real fraction exponent-opt 浮点数。该实数论域仅为用户方 fraction dec number fractional part-opt 便而引入。所有的算术、比较和 fractional part dec number 赋值操作都可应用该实数论域的 exponent 值。实数允许的范围为从1*10 dec_ numberoperation-opt exp add exp 307到1*10+308,即1e-307 e E 到1e+308。在必要时,整数论 add operation 域的值自动转换为实数论域。浮 dec number 点数映像的语法由实数规则确定: dec digit-list dec digit one of 0123456789 2004.11.3 A|程序设计 14
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 14 14.3 内部论域详解 ::real 浮点数。该实数论域仅为用户方 便而引入。所有的算术、比较和 赋值操作都可应用该实数论域的 值。实数允许的范围为从1*10- 307到1*10+308,即 1e-307 到1e+308。在必要时,整数论 域的值自动转换为实数论域。浮 点数映像的语法由实数规则确定: real : fraction exponent-opt fraction : dec_number fractional_part-opt fractional_part : . dec_number exponent : exp add_operation-opt dec_number exp : e E add_operation : + - dec_number : dec_digit-list dec_digit : one of 0 1 2 3 4 5 6 7 8 9
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 pointer 指向内存地址的4字节指针。 个指针直接与内存地址对应并由4字节值实现。只有等于操作可应用 该论域的值。指针的映像不能在源文件中显式写岀。只有内置的空常量ηu‖ 可获得该论域的空值NULL。 a boolean 布尔值。 该论域仅为用户方便而引入。可以象一般具有下列定义的混合论域来对待 domains boolean false o; trueo 2004.11.3 A|程序设计 15
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 15 14.3 内部论域详解 ::pointer 指向内存地址的4字节指针。 一个指针直接与内存地址对应并由4字节值实现。只有等于操作可应用 该论域的值。指针的映像不能在源文件中显式写出。只有内置的空常量null 可获得该论域的空值NULL。 ::boolean 布尔值。 该论域仅为用户方便而引入。可以象一般具有下列定义的混合论域来对待 它。 domains boolean = false(); true()