Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Essential rank of variabls and constants
#2
The following examples assumes the following type ranges:
  • char - 8 bits
    short - 16 bits
    int - 32 bits
    long - 64 bits
and that the constants are written in decimal form with no suffices.

Code:
| Constant value range                     | Essential Type
| -2**7 .. 2**7-1                          | essentially signed char  |
| -2**15 .. -2**7-1  and  2**7 .. 2**15-1  | essentially signed short |
| -2**31 .. -2**15-1 and 2**15 .. 2**31-1  | essentially signed int   |
| -2**63 .. -2**31-1 and 2**31 .. 2**63-1  | essentially signed long  |
So for example 2147483647 (2**31-1) will have an essential type of essentially signed int, but 2147483648 (2**31) will have an essential type of essentially signed long.

2**X is used to represent 2 to the power X
Posted by and on behalf of the MISRA C Working Group


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)