Is 2e3 an integer?
2e3 is not an integer.

Illegal integer is 2e3, 2 E3- floating point number, type e. Illegal integer. If you want to declare a long integer variable, you should add L or L after it. If l is not added, the system may treat it as a general integer. The so-called n-system means that when n is full, it will advance one place. For example, binary representation 1, 2,3,4,5 are 1,1,100, 10 1 respectively.

Suffix of integer constant

On a machine with a word length of 16 bits, the length of the basic integer is also 16 bits, so the range of the number represented is also limited. Decimal unsigned integer constants range from 0 to 65535, and signed numbers range from -32768 to +32767. The range of octal unsigned number is 0 ~ 0 177777. The expression range of hexadecimal unsigned number is 0x0 ~ 0xffff or 0x0 ~ 0xffff. If the number used exceeds the above range, it must be expressed as a long integer.