The concatenation operator &
VARIABLE shifted, shiftin : BIT_VECTOR(0 TO 3);
shifted := shiftin(1 TO 3) & '0';
- The exponentiation operator **
x := 4**0.5 -- 4^0.5, Illegal
y := 0.5**(-2) -- 0.5^(-2), OK
The concatenation operator joins two vectors together. Both vectors must be of the same type. The example given above performs a logical shift left for a four bit array.
For the exponentiation operator ** from the package STD, the exponent must be an integer; no real exponents are allowed. Negative exponents are allowed only with real numbers. Other packages can be found that include overloaded operators (discussed in Module 12) for exponentiation with real and negative arguments.