For the same reason, for example, commas ( ,) in currency or [other large] numbers: grouping. In this way:
Million : Constant:= 1_000_000;
In addition, you can use it in combination with the base parameter as a setting for masking:
Type Bit is Range 1..8;
SubType Byte is Interfaces.Unsigned_8;
Type Masks is Array(Positive Range <>) of Byte;
Mask_Map : Constant Masks(Bit):=
(
2#0000_0001#,
2#0000_0010#,
2#0000_0100#,
2#0000_1000#,
2#0001_0000#,
2#0010_0000#,
2#0100_0000#,
2#1000_0000#
);
, , Mask_Map or, and xor . , , , - , , , 1..PARAMETER'Size.