26 lines
597 B
R
26 lines
597 B
R
GrayEncode <- function(binary) {
|
|
gray <- substr(binary,1,1)
|
|
repeat {
|
|
if (substr(binary,1,1) != substr(binary,2,2)) gray <- paste(gray,"1",sep="")
|
|
else gray <- paste(gray,"0",sep="")
|
|
binary <- substr(binary,2,nchar(binary))
|
|
if (nchar(binary) <=1) {
|
|
break
|
|
}
|
|
}
|
|
return (gray)
|
|
}
|
|
GrayDecode <- function(gray) {
|
|
binary <- substr(gray,1,1)
|
|
repeat {
|
|
if (substr(binary,nchar(binary),nchar(binary)) != substr(gray,2,2)) binary <- paste(binary ,"1",sep="")
|
|
else binary <- paste(binary ,"0",sep="")
|
|
gray <- substr(gray,2,nchar(gray))
|
|
|
|
if (nchar(gray) <=1) {
|
|
break
|
|
}
|
|
}
|
|
return (binary)
|
|
}
|