Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP Pascal/HP-UX Programmer's Guide > Chapter 4 Predefined Pascal Constants, Data Types, and Modules

Bit16

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

The predefined data type bit16 is a subrange, 0..65535, that is stored in 16 bits. bit16 is a unique HP Pascal type because arithmetic operations on bit16 data are truncated to modulo 65535 when stored.

To determine if a type T is assignment compatible with bit16, treat bit16 as a subrange of integer:

  • If variable v is of type T and variable b16 is of type bit16, then the assignment b16 := v is legal if the value of v is within the range 0..65535.

  • If the ranges of T and bit16 do not overlap, the assignment b16 := v causes a compile-time error.

  • If the ranges of T and bit16 do overlap, but the value of v is outside the range of bit16, then the assignment b16 := v causes a run-time error.

Example

PROGRAM prog;

TYPE
T1 = integer; {overlaps bit16 range }
T2 = -32768..-1; {does not overlap bit16 range}
T3 = 0..65535; {overlaps bit16 range }

VAR
v1 : T1; {b16:=v1 may be legal, depending on value of v1}
v2 : T2; {b16:=v2 is never legal}
v3 : T3; {b16:=v3 is always legal}
b16 : bit16;

BEGIN {prog}
v1 := 65535;
b16 := v1; {legal}
b16 := b16 + 5; {legal; now b16 = (65540 MOD 65535) = 4}
b16 := b16 - 5; {legal; now b16 = 65535}

v3 := 65535;
v3 := v3 + 4; {causes run-time error}
v3 := 4;
v3 := v3 - 5; {causes run-time error}

v1 := -20;
b16 := v1; {causes run-time error}

v2 := -30;
b16 := v2; {causes compile-time error}
END. {prog}
Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.