Skip to main content

Command Palette

Search for a command to run...

Understanding the Binary System in Detail with Java

Updated
4 min read
Understanding the Binary System in Detail with Java

Binary numbers are the backbone of computing and programming. From simple arithmetic to complex algorithms, everything relies on this number system. If you're a Java programmer (or aspiring to be one), understanding binary is essential for grasping how computers process and store data. In this guide, we’ll break it all down for you—just like a big brother explaining things in a simple way.


1. Binary Number System: An Overview

The binary number system uses only two digits: 0 and 1. This is because computers operate using electrical signals, where 0 represents off and 1 represents on. The position of each digit in a binary number represents a power of 2, just like the decimal system uses powers of 10.

Binary vs Decimal

In the decimal system, the number 245 means:

  • (2 10^2) + (4 10^1) + (5 * 10^0) = 200 + 40 + 5

In binary, the number 1011 means:

  • (1 2^3) + (0 2^2) + (1 2^1) + (1 2^0) = 8 + 0 + 2 + 1 = 11

Why Binary?

Computers use binary because it’s easier and more reliable to differentiate between two states (on/off) than multiple states. Binary is the simplest way to store and process data at the hardware level.

Example in Java

To represent a binary number in Java, you prefix it with 0b or 0B:

public class BinaryExample {
    public static void main(String[] args) {
        int binaryNumber = 0b1011; // Binary for 11
        System.out.println("Decimal value: " + binaryNumber); // Output: Decimal value: 11
    }
}

2. How to Convert Binary to Decimal

Converting a binary number to decimal is simple. Multiply each binary digit by its corresponding power of 2, starting from the rightmost digit.

Example: Convert Binary 1101 to Decimal

  1. Write down the binary number: 1101

  2. Assign powers of 2 from right to left: 2^3, 2^2, 2^1, 2^0

  3. Multiply each digit by its corresponding power of 2:

    • (1 2^3) + (1 2^2) + (0 2^1) + (1 2^0)

    • \= 8 + 4 + 0 + 1 = 13

Java Code Example

Here’s how to convert binary to decimal programmatically:

public class BinaryToDecimal {
    public static void main(String[] args) {
        String binary = "1101";
        int decimal = Integer.parseInt(binary, 2); // Converts binary string to decimal
        System.out.println("Decimal value: " + decimal); // Output: Decimal value: 13
    }
}

3. Binary Addition and Subtraction Explained

Binary arithmetic is straightforward once you know the rules. Let’s start with addition and subtraction.

Binary Addition Rules

  1. 0 + 0 = 0

  2. 0 + 1 = 1

  3. 1 + 0 = 1

  4. 1 + 1 = 10 (carry the 1 to the next column)

Example: Add 101 and 11

    101
  + 011
  ------
   1000 (Decimal: 5 + 3 = 8)

Java Code for Binary Addition

In Java, binary addition can be done using Integer methods:

public class BinaryAddition {
    public static void main(String[] args) {
        int num1 = 0b101; // Binary for 5
        int num2 = 0b11;  // Binary for 3
        int sum = num1 + num2;
        System.out.println("Sum in binary: " + Integer.toBinaryString(sum)); // Output: 1000
        System.out.println("Sum in decimal: " + sum); // Output: 8
    }
}

Binary Subtraction Rules

Binary subtraction uses borrowing, similar to decimal subtraction:

  1. 0 - 0 = 0

  2. 1 - 0 = 1

  3. 1 - 1 = 0

  4. 0 - 1 = 1 (borrow 1 from the next higher bit)

Example: Subtract 101 from 1101

    1101
  -  101
  ------
    1000 (Decimal: 13 - 5 = 8)

4. Two’s Complement: Representing Negative Numbers

The two’s complement is a method for representing negative numbers in binary. It’s widely used because it simplifies binary arithmetic.

How It Works

  1. Write the binary representation of the positive number.

  2. Invert the digits (change 0 to 1 and 1 to 0).

  3. Add 1 to the result.

Example: Represent -5 in Binary (8-bit)

  1. Positive 5 in binary: 00000101

  2. Invert the digits: 11111010

  3. Add 1: 11111011 (This is -5 in two’s complement)

Why Two’s Complement Works

Using two’s complement, subtraction can be performed as addition, eliminating the need for a separate subtraction circuit in hardware.

Java Code Example

In Java, integers are stored using two’s complement by default:

public class TwosComplement {
    public static void main(String[] args) {
        int negativeFive = -5;
        System.out.println("Binary of -5: " + Integer.toBinaryString(negativeFive)); // Output: 11111111111111111111111111111011 (32-bit)
    }
}

Conclusion

Understanding the binary number system is crucial for programming, especially when working with low-level operations, bit manipulation, or algorithms. Here’s a quick recap:

  • The binary system uses only 0 and 1, and each position represents a power of 2.

  • Converting between binary and decimal involves basic arithmetic.

  • Binary addition and subtraction follow specific rules, but they’re easy to understand.

  • Two’s complement simplifies working with negative numbers.

More from this blog

U

UniGeek

29 posts

Unigeek empowers developers and tech enthusiasts at every level. From placement prep and daily coding challenges to advanced upskilling, Unigeek helps you grow in the ever-evolving tech world.