 Other encoders employ non-contact mechanisms based on optical or magnetic sensors to produce the Gray code output signals.Regardless of the mechanism or precision of a moving encoder, position measurement error can occur at specific positions (at code boundaries) because the code may be changing at the exact moment it is read (sampled).A binary output code could cause significant position measurement errors because it is impossible to make all bits change at exactly the same time.