N비트 그레코드 생성

1620 단어

반복 생성 부호표


이런 방법은 그레이 코드가 반사 코드라는 사실에 근거하여 다음과 같은 규칙을 이용하여 구성한다.
1위 그레코드는 두 글자가 있어요.

(n+1)비트 그레코딩 중 앞 2
n개의 코드는 n위 그레이 코드의 코드와 같고, 순서대로 쓰고, 접두사를 붙여서 0

(n+1)비트 그레코드의 후2
n개의 부호는 n위 그레이 부호와 같은 부호로 역순으로 쓰고 접두사를 붙인다
[3]  

n+1위 그레코딩 집합 = n위 그레코딩 집합 (순서) 접두사 추가 0 + n위 그레코딩 집합 (역순서) 접두사 추가 1

2위 그레코
3위 그레코
4위 그레코
4비트 자연 바이너리
00
01
십일
십
000
001
011
010
110
111
101
백
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
천
0000
0001
0010
0011
0100
0101
0110
0111
천
1001
1010
1011
1100
1101
1110
1111
N비트 길이의 그레이 코드를 모두 생성한다는 뜻입니다. 자바는 다음과 같습니다.
public class GrayCode {
	public static String[] getGray(int n) {
		if (n == 1) {
			String[] result = new String[2];
			result[0] = "0";
			result[1] = "1";
			return result;
		} else {
			String[] temp = getGray(n - 1);
			String[] result = new String[temp.length * 2];
			for (int i = 0; i < temp.length; i++) {
				result[i] = "0" + temp[i];
			}
			for (int i = 0; i < temp.length; i++) {
				result[i + temp.length] = "1" + temp[temp.length - i - 1];
			}
			return result;
		}
	}

	public static void main(String[] args) {
		for (String tmp : getGray(3)) {
			System.out.println(tmp);
		}
	}
}

좋은 웹페이지 즐겨찾기