• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Networking » Communication » Hamming Code
Next →
← Prev

Hamming Code

By Dinesh Thakur

Hamming code is technique developed by R.W. Hamming for error correction. This method corrects the error by finding the state at which the error has occurred.

We’ll be covering the following topics in this tutorial:

  • Determining the positions of redundancy bits
  • Generating parity information
  • Example of Hamming Code Generation
  • Error Detection & Correction

Determining the positions of redundancy bits

Till now, we know the exact number of redundancy bits required to be embedded with the particular data unit.

We know that to detect errors in a 7 bit code, 4 redundant bits are required.

Now, the next task is to determine the positions at which these redundancy bits will be placed within the data unit.

• These redundancy bits are placed at the positions which correspond to the power of2.

• For example in case of 7 bit data, 4 redundancy bits are required, so making total number of bits as 11. The redundancy bits are placed in position 1, 2, 4 and 8 as shown in fig.

Positions of redundancy bits in Hamming CodeGenerating parity information

• In Hamming code, each r bit is the VRC for one combination of data bits. rl is the VRC bit for one combination of data bits, r2 is the VRC for another combination of data bits and so on.

• Each data bit may be included in more than one VRC calculation.

• rl bit is calculated using all bits positions whose binary representation includes a 1 in the rightmost position.

• r2 bit calculated using all the bit positions with a 1 in the second position and so on.

• Therefore the various r bits are parity bits for different combination of bits.

The various combinations are:

rl : bits 1,3,5, 7, 9, 11

r2 : bits 2, 3, 6, 7, 10, 11

r4 : bits 4, 5, 6, 7

r8 : bits 8, 9, 10, 11

Generating parity information

Redundancy bits calculationExample of Hamming Code Generation

Suppose a binary data 1001101 is to be transmitted. To implement hamming code for this, following steps are used:

1. Calculating the number of redundancy bits required. Since number of data bits is 7, the value of r is calculated as

2r > m + r + 1

24 > 7 + 4 + 1

Therefore no. of redundancy bits = 4

2. Determining the positions of various data bits and redundancy bits. The various r bits are placed at the position that corresponds to the power of 2 i.e. 1, 2, 4, 8

Example of Hamming Code Generation

Example of Hamming Code

4. Thus data 1 0 0 1 1 1 0 0 1 0 1 with be transmitted.

Error Detection & Correction

Considering a case of above discussed example, if bit number 7 has been changed from 1 to 0.The data will be erroneous.

Error Detection & CorrectionData sent: 1 0 0 1 1 1 0 0 1 0 1

Data received: 1 00 1 0 1 00 1 0 1 (seventh bit changed)

The receive takes the transmission and recalculates four new VRCs using the same set of bits used by sender plus the relevant parity (r) bit for each set as shown in fig.

Then it assembles the new parity values into a binary number in order of r position (r8, r4, r2, r1).

In this example, this step gives us the binary number 0111. This corresponds to decimal 7. Therefore bit number 7 contains an error. To correct this error, bit 7 is reversed from 0 to 1.

You’ll also like:

  1. difference between declaring a variable in the General Declaration section of a standard code module and declaring variable in the general declaration section of a form code module?
  2. Classification of Various Binary Code
  3. Java Class Example Code
  4. What is bar code?
  5. Commenting Code in JSP
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Networking

Networking Tutorials

  • Network - Home
  • Network - Uses
  • Network - Advantages
  • Network - Classification
  • Network - Architecture Type
  • Nework - Networks Vs Comms

Networking Devices

  • Network - Modem
  • Network - Routers Types
  • Network - Bluetooth
  • Network - RS-232C
  • Network - Hub
  • Network - Devices
  • Network - Bridges
  • Network - Repeaters
  • Network - Routers
  • Network - Switching Hubs
  • Network - Transceiver
  • Network - Multiplexer
  • Network - Gateway
  • Network - BNC Connector
  • Network - Optical Connectors
  • Network - NICs
  • Networking Protocol

  • Protocol - Definition
  • Protocol - IP
  • Protocol - Aloha
  • Protocol - MAC Layer
  • Protocol - Sliding Window
  • Protocol - Stop & Wait
  • Protocol - Network Protocols
  • Protocol - Token Passing
  • Protocol - SIP
  • Protocol - Ad-Hoc Networks Routing
  • Protocol - Lap-f
  • Protocol - Point-to-Point
  • Protocol - PPP
  • Protocol - PPP Phases
  • Protocol - LDP
  • Protocol - MPLS
  • Protocol - MPOA
  • Protocol - HDLC
  • Protocol - Distance Vector routing
  • Protocol - IGMP
  • Protocol - ICMP
  • Protocol - SLIP
  • Protocol - DVMRP
  • Protocol - SDLC
  • Protocol - Routing
  • Protocol - UDP
  • Protocol - ARP and RARP
  • Protocol - Link-State
  • Protocol - ARP Table
  • Protocol - RTP
  • Protocol - NHRP
  • Network Addressing

  • Addressing - Home
  • Addressing - SubNetting
  • Addressing - Classless
  • Addressing - Classes or Classful
  • Addressing - IPV4 vs IPV6
  • Addressing - IPv6
  • Addressing - Subnet Mask
  • Addressing - MAC Address
  • Addressing - Supernetting
  • Addressing - Private IP
  • Addressing - IPv4
  • Addressing - Public IP
  • Addressing - Multihomed
  • Addressing - Indirect Addressing
  • Addressing - ASP
  • Addressing - VLSM
  • Addressing - Routing Algorithms
  • Addressing - Hierarchical Routing
  • Addressing - Routing
  • Addressing - Distributed Routing
  • Addressing - Data Routing
  • Addressing - Services
  • Addressing - IP forwarding
  • Addressing - Aging
  • Addressing - Algorithm CR
  • Networking Media

  • Transmission - Home
  • Transmission - Modes
  • Transmission - Media
  • Transmission - System
  • Transmission - Bound
  • Transmission - Unbound
  • Transmission - Baseband
  • Transmission - Wired
  • Transmission - Fiber Benfits
  • Transmission - Infrared
  • Transmission - UnGuided
  • Transmission - Microwave
  • Transmission - Infrared
  • Transmission - Radio Wave
  • Transmission - Network
  • Transmission - Digital Signal
  • Transmission - Data
  • Transmission - Asynchronous
  • Transmission - Sync Vs Async
  • Cable - Twisted-Pair
  • Cable - Coaxial
  • Cable - UTP and STP
  • Cable - Fiber Optics
  • Cable - Gigabit Ethernet
  • Cable - Fast Ethernet
  • Cable - Ethernet Cable
  • Cable - Fiber-Optic Using
  • Cable - CATV
  • Cable - 100Base T
  • Cable - 10BASE T
  • Cable - 10 Base 2
  • Cable - 10 Base 5
  • Networking Types

  • IEEE - 802.11
  • IEEE - 802.5
  • IEEE - 802.15
  • IEEE - 802.11e
  • IEEE - 802.11n
  • Network - Ethernet
  • Network - Arpanet
  • Network - Frame Relay
  • Network - X.25
  • Network - Telephone
  • Network - WSN
  • Network - Metro Ethernet
  • Network - WAN Ethernet
  • Network - Wireless Mesh
  • Network - SAN
  • Network - SNA
  • Network - Cisco Architecture
  • Network - Vlan
  • Network - FDDI
  • Network - 100VG-Any
  • Network - EPON
  • Network - ISDN
  • Network - ARCNet
  • Network - Passive Optical
  • Networking Reference Models

  • Models - TCP/IP
  • Models - OSI
  • Models - MAC Layer
  • Models - Network Layer
  • Models - MAC Layer Functions
  • Models - TCP/IP Vs OSI
  • Models - CSMA
  • Models - CSMA/CD
  • Models - CSMA/CA
  • Models - CDMA
  • Models - STDM
  • Models - FDMA
  • Models - TDMA
  • Models - SDH
  • Models - CDM
  • Models - Multiplexing
  • Models - Reference
  • Models - Random Access Methods
  • Models - TCP/IP Architecture
  • Models - FDM
  • Models - IP Header
  • Models - OTN
  • Models - Amplitude Levels
  • Models - MIMO
  • Models - Plesiochronous Media
  • Models - Half Duplex
  • Models - ISO Architecture
  • Models - Data-Link Layer
  • Models - WDM
  • Models - Duplex
  • Models - Ethernet FDSE
  • Networking Switching Techniques

  • Switching - Home
  • Switching - Techniques
  • Switching - Packet
  • Switching - Circuit
  • Switching - Message
  • Switching - Packet Vs virtual Circuit
  • Switching - Cell
  • Switching - ATM Cell Structure
  • Switching - Virtual Circuit Vs Datagram
  • Switching - Time Space
  • Switching - Modulation
  • Switching - Cell Relay
  • Switching - ATM Structure
  • Switching - VC Vs PVC
  • Switching - Packet and Circuit
  • Switching - VPC
  • Switching - IP
  • Switching - Logical Channels
  • Switching - TDM
  • Switching - FDM
  • Network Codes

  • Codes - CRC
  • Codes - Error Correction and Detection
  • Codes - Hamming
  • Codes - Piggybacking
  • Codes - Encoding Techniques
  • Codes - Error Control
  • Codes - Parity Check
  • Codes - Parity bit
  • Codes - Bit Error
  • Codes - CRC
  • Codes - Transmission Errors
  • Codes - Error Detection and Correction
  • Network Communication

  • Communication - Home
  • Communication - Satellite
  • Communication - Wireless
  • Communication - Data Type
  • Communication - Congestion Control
  • Communication - Network
  • Communication - Data
  • Communication - Software
  • Communication - Layering Process
  • Networking Signaling

  • Signal - Analog
  • Signal - Digital
  • Signal - Analog Vs Digital
  • Signal - Digitization
  • Network Security

  • Security - Home
  • Security - Requirements
  • Security - Threats
  • Security - Services

Other Links

  • Networking - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW