差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
整数 [2018/09/11 09:06]
group001
整数 [2021/09/12 22:21] (当前版本)
gongyu
行 1: 行 1:
 ====整数 (integer)==== ====整数 (integer)====
 整数常数的定义规则如下。\\ 整数常数的定义规则如下。\\
-  -整数可以用十进制(decimal)、十六进制(hexadecimal)、八进制(octal)、二进制(binary)形式表示,表现形式为:\\ <​null|+|-><​size><​sign:​s|S><​base:​ d|D|h|H|o|O|b|B><​0~9|0~f|0~7|0~1|x|z>,​其中size、sign和base是可选的。+  -整数可以用十进制(decimal)、十六进制(hexadecimal)、八进制(octal)、二进制(binary)形式表示,表现形式为:\\ ​ 
 +<​null|+|-><​size><​sign:​s|S><​base:​ d|D|h|H|o|O|b|B><​0~9|0~f|0~7|0~1|x|z>,​其中size、sign和base是可选的。
   -最简单的整数是没有size、sign和base的十进制数,只用0~9,可选+或-,表示的是符号数(signed integer)。   -最简单的整数是没有size、sign和base的十进制数,只用0~9,可选+或-,表示的是符号数(signed integer)。
   -sign必须和base一起使用。当base前面有sign标志时,表示的是符号数(signed integer);当base前面没有sign标志时,表示的是无符号数(unsigned integer)。   -sign必须和base一起使用。当base前面有sign标志时,表示的是符号数(signed integer);当base前面没有sign标志时,表示的是无符号数(unsigned integer)。
行 13: 行 14:
   -注意:当把带有size 的负常数(sized signed constant numbers)赋给一个reg类型的变量时,不管这个变量是否是signed,对这个负常数做符号扩展(sign-extend)。   -注意:当把带有size 的负常数(sized signed constant numbers)赋给一个reg类型的变量时,不管这个变量是否是signed,对这个负常数做符号扩展(sign-extend)。
 \\ \\
 +
 +### 例子:
 +
 <code verilog> <code verilog>
-  ​ 
-  例子: 
   //1. Unsized constant numbers   //1. Unsized constant numbers
   659         // is a decimal number   659         // is a decimal number
行 65: 行 67:
   m = -12'​h123; ​   //​16'​FEDD   m = -12'​h123; ​   //​16'​FEDD
   m = 12'​shEDD; ​   //​16'​FEDD   m = 12'​shEDD; ​   //​16'​FEDD
 +</​code>​
   ​   ​
-  ​我们要避免如下书写错误:+我们要避免如下书写错误: 
 +<code verilog>
   case (sel[1:0])   case (sel[1:0])
    00: y = a;    00: y = a;