- Perl ›
- Numerical value ›
- 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;

#### Hexadecimal

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);