## Numeric literals - Representation of numbers in source code

The representation of numbers in the source code is called ** number literals **. Numeric literals can be written as follows.

#### integer

Numbers that are not enclosed in quotes or double quotes are interpreted by Perl as numeric literals.

my $num1 = 1; # Negative number my $num2 = -1;

#### Digit separator expression

If an underscore is included in a numeric literal, it will be ignored. The notations 1_000_000 and 1000000 are equivalent. Underscores can be used to make large numbers easier to read.

# You can use _ as a digit separator. my $num3 = 1_000_000;

#### Decimal (floating point)

If it contains a. (Dot), it is interpreted as a decimal. It is the same as the notation in mathematics. A few Perls are double precision floating point.

# Decimal point my $num4 = 1.33;

#### Minority exponential notation

You can use exponential notation to represent a small number of numbers. 1.3E3 is equivalent to 1300. 1.3E-3 is equivalent to 0.0013.

# 1.3 x 10 cubed my $num5 = 1.3E3; # 1.3 x 10 to the -3rd power my $num6 = 1.3E-3;

#### Binary number

You can specify a numerical value in binary by prefixing it with 0b.

my $num_bin = 0b1111;

#### Octal number

If you add 0 to the beginning, you can specify a numerical value in octal.

my $num_oct = 0777;

#### Hexadecimal

You can specify a number in hexadecimal by prefixing it with 0x.

my $num_hex = 0xFFFF;

#### What are the numbers in Perl?

The numbers in Perl are explained in detail below.

### Example program

This is an example program that uses numerical literals.

use strict; use warnings; my $num1 = 1; # Negative number my $num2 = -1; # You can use _ as a digit separator. my $num3 = 1_000_000; # Decimal my $num4 = 1.33; # Minority exponential notation 1.3 x 10 cubed my $num5 = 1.3E3; # 1.3 x 10 to the -3rd power my $num6 = 1.3E-3; print "\$num1 = $num1\n"; print "\$num2 = $num2\n"; print "\$num3 = $num3\n"; print "\$num4 = $num4\n"; print "\$num5 = $num5\n"; print "\$num6 = $num6\n";