Binary, octal, and hex arithmetic operations

Integer values can be represented in decimal, binary, octal, or hex numeric notations. By default, integer values are represented in decimal notation. Binary numbers have base 2. Octal numbers use base 8. Hexadecimal numbers use base 16. We will learn about various notations with examples in this section.

This is the syntax:

variable=base#number-in-that-base

Let's understand the preceding syntax with examples:

  • Decimal representation:
    $ declare -i x=21
    $ echo $x
    21
  
  • Binary representation:
    $ x=2#10101
    $ echo $x
    21
  
  • Octal representation:
    $ declare -i x
    $ x=8#25
    $ echo $x
    21
  • Hexadecimal representation:
    $ declare -i x
    $ x=16#15
    $ echo $x
    21
  

In the preceding examples, we displayed the decimal ...

Get Learning Linux Shell Scripting - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.