From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_05,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!ncar!noao!mcdsun!mcdchg!clyde!rds@moss.ATT.COM From: rds@moss.ATT.COM Newsgroups: comp.lang.ada Subject: unsigned integers in Ada Message-ID: <25160@clyde.ATT.COM> Date: 20 Apr 88 23:56:48 GMT Sender: nuucp@clyde.ATT.COM Keywords: unsigned integer List-Id: How does one implement an unsigned integer in Ada and have a maximum value equal to 2**(number of bits) in any given implementation? Is this an oversight or does Ada really limit maximum integer values to 2**(# of bits MINUS ONE)-1. More verbosely put declaring type Pointer is range 0..(2**32)-1; for Pointer'SIZE use 32; is invalid for a 32 bit integer implementation because (2**32)-1 is not in the INTEGER'RANGE -(2**31)..(2**31)-1. How can I use the leftover bit? subtype Pointer is INTEGER range 0..(2**32)-1; for Pointer'SIZE use 32; is illegal because it is not a LRM 13.1 (3) WHAT IS A FIRST NAMED SUBTYPE?? And can someone give an example? Any assistance will keep the hair in my head for another day (Ada problem).