The declaration
num : binary 2..0;is exactly equivalent to
num : array 2..0 of boolean;except than in expressions, num will be treated as an unsigned binary number with three bits. The index of the least significant bit is 0 in this case, while the index of the most significant bit is 2. See the section on vectors and vector operators for a complete discussion of the treatment of binary numbers in expressions and assignments.