binary2gray.Rd
Functions for computing Gray encoding from/to binary strings.
binary2gray(x)
gray2binary(x)
the string to be evaluated
Gray encoding allows to obtain binary strings not affected by the well-known Hamming cliff problem. With Gray encoding the number of bit differences between any two consecutive values is one, whereas in binary strings this is not always true.
# Consider a five-bit encoding of values 15 and 16 using the standard
# binary coding
decimal2binary(15, 5)
#> [1] 0 1 1 1 1
decimal2binary(16, 5)
#> [1] 1 0 0 0 0
# Moving from 15 to 16 (or vice versa) all five bits need to be changed,
# but using Gray encoding the two binary strings differ by one bit.
binary2gray(decimal2binary(15, 5))
#> [1] 0 1 0 0 0
binary2gray(decimal2binary(16, 5))
#> [1] 1 1 0 0 0