# Perl ABC

1. Perl
2. Numerical value
3. here

## Binary, octal, and hexadecimal numerical representations

I will explain the representation of numerical values in binary, octal, and hexadecimal numbers.

#### 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;
```

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

```my \$num_hex = 0xFFFF;
```

#### Output decimal, octal, hexadecimal

If you want to output in binary, octal, or hexadecimal, specify the format with printf function and output. You can output in binary with%b, octal with%o, hexadecimal (lowercase) with%x, and hexadecimal (uppercase) with%X.

```# Output in binary display with %b
printf("\\$num_bin = %b\n", \$num_bin);

# Output in octal display with %o
printf("\\$num_oct = %o\n", \$num_oct);

# Output in hexadecimal with %x (lowercase)
printf("\\$num_hex = %x\n", \$num_hex);

# Output in hexadecimal with %X (uppercase)
printf("\\$num_hex = %X\n", \$num_hex);
```

### Example

This is an example using binary, octal, and hexadecimal numbers.

```use strict;
use warnings;

# You can specify a numerical value in binary by prefixing it with 0b.
my \$num_bin = 0b1111;

# If you add 0 at the beginning, you can specify the numerical value in octal.
my \$num_oct = 0777;

# You can specify a number in hexadecimal by prefixing it with 0x.
my \$num_hex = 0xFFFF;

# Numeric literals expressed in binary, octal, and hexadecimal numbers become decimal when printed.
print "(1) Decimal value\n";
print "\\$num_bin = \$num_bin\n";
print "\\$num_oct = \$num_oct\n";
print "\\$num_hex = \$num_hex\n";

print "\n";

print "(2) Output in each base\n";

# Output in binary display with %b
printf("\\$num_bin = %b\n", \$num_bin);

# Output in octal display with %o
printf("\\$num_oct = %o\n", \$num_oct);

# Output in hexadecimal with %x (lowercase)
printf("\\$num_hex = %x\n", \$num_hex);

# Output in hexadecimal with %X (uppercase)
printf("\\$num_hex = %X\n", \$num_hex);
```