3

The row and column headers for a Karnaugh map are written in gray code and not binary. I am wondering why. Is it because that the Karnaugh map needs to wrap around, and gray code is symmetrical?

nidhin
  • 8,197
  • 3
  • 28
  • 46
Chris Ryder
  • 31
  • 1
  • 2

1 Answers1

7

Gray code means that nearest neighbours in the K-map differ from one-another by only one bit. This means that the images of products of predicates (A and B and ...) on the K-map are connected subsets of the K-map as long as you define the K-map on the surface of a torus - so you can spot these factors easily. So you need (1) Gray codes AND (2) to put the map on a torus ("wrap around") to make this connectedness property of products work. The wrapping around has nothing directly to do with the Gray codes: it is a condition further to Gray codes that you need to make the K-map work.

Try drawing a K-map with binary ordering - you'll quickly see that the products of predicates - which are what you want to spot to get a minimum length representation of the truth function become scattered in this representation.