2. 基数表示法
这种形式的整数格式为:
[size ] 'base value
size 定义以位计的常量的位长; base 为 o 或 O (表示八进制), b 或 B (表示二进制), d 或 D (表示十进制), h 或 H (表示十六进制)之一; value 是基于 base 的值的数字序列。值 x 和 z 以及十六进制中的 a 到 f 不区分大小写。
下面是一些具体实例:
5'O37 5 位八进制数
4'D2 4 位十进制数
4'B1x_01 4 位二进制数
7'Hx 7 位 x( 扩展的 x), 即 xxxxxxx
4'hZ 4 位 z( 扩展的 z) , 即 zzzz
4'd-4 非法:数值不能为负
8'h 2 A 在位长和字符之间 , 以及基数和数值之间允许出现空格
3'b001 非法 : ` 和基数 b 之间不允许出现空格
(2+3)'b10 非法 : 位长不能够为表达式
注意, x (或 z )在十六进制值中代表 4 位 x (或 z ),在八进制中代表 3 位 x (或 z ),在二进制中代表 1 位 x (或 z )。
基数格式计数形式的数通常为无符号数。这种形式的整型数的长度定义是可选的。如果没有定义一个整数型的长度,数的长度为相应值中定义的位数。下面是两个例子:
'o721 9 位八进制数
'hAF 8 位十六进制数
如果定义的长度比为常量指定的长度长,通常在左边填 0 补位。但是如果数最左边一位为 x 或 z ,就相应地用 x 或 z 在左边补位。例如:
10'b10 左边添 0 占位 , 0000000010
10'bx0x1 左边添 x 占位 ,xxxxxxx0x1
如果长度定义得更小,那么最左边的位相应地被截断。例如:
3'b1001_0011 与 3'b011 相等
5'H0FFF 与 5'H1F 相等
?字符在数中可以代替值 z 在值 z 被解释为不分大小写的情况下提高可读性(参见第 8 章)。
实数
实数可以用下列两种形式定义:
1) 十进制计数法;例如
2.0
5.678
11572.12
0.1
2. // 非法:小数点两侧必须有 1 位数字
2) 科学计数法; 这种形式的实数举例如下:
23_5.1e2 其值为 23510.0; 忽略下划线
3.6E2 360.0 (e 与 E 相同 )
5E - 4 0.0005