DES=DES+(K * S[P]) 에서 S[P] 이부분이 이해가 안갑니다. 뭐 어떻게 적용해서 계산을 해야하나요?
또, 이 알고리즘은 처음에 S[8] 에서 임의의 2진수를 넣고 시작 하는 건가요?
안녕하세요.
2진수를 10진수로 변환하는 과정을 이해하시면 될 것 같습니다.
섹션 015를 참조하세요.
예를 들어 2진수 0111을 10진수로 변환할 때는 각 자리수 가중치 값을 적용한 후 모두 더해줍니다.
1 2 3 4 5 6 7 8 S 배열의 위치
부호 0 0 0 0 1 1 1 2진수
0×2**6 0×2**5 0×2**4 0×2**3 1×2**2 1×2**1 1×2**0 가중치 적용값
각 자리의 가중치 값을 구하는 과정이
K = 2**(8-P) 입니다.
배열의 위치가 2인 경우, 즉 S[2]인 경우
K = 2**(8-2) = 2**6
각 자리의 가중치가 구해질 때마다 그 값을 배열의 값에 곱한 뒤 누적합니다.
DEC = DEC + (K * S[P])
DEC = DEC + ( 2**6 * S[2])
DEC = DEC + ( 2**6 * 0)
DEC = DEC + ( 0 )
이와 같이 각 자리의 가중치를 배열의 해당 위치의 값과 곱한 뒤 누적하면 10진수로 변환됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-02-17 09:42:58
안녕하세요.
2진수를 10진수로 변환하는 과정을 이해하시면 될 것 같습니다.
섹션 015를 참조하세요.
예를 들어 2진수 0111을 10진수로 변환할 때는 각 자리수 가중치 값을 적용한 후 모두 더해줍니다.
1 2 3 4 5 6 7 8 S 배열의 위치
부호 0 0 0 0 1 1 1 2진수
0×2**6 0×2**5 0×2**4 0×2**3 1×2**2 1×2**1 1×2**0 가중치 적용값
각 자리의 가중치 값을 구하는 과정이
K = 2**(8-P) 입니다.
배열의 위치가 2인 경우, 즉 S[2]인 경우
K = 2**(8-2) = 2**6
각 자리의 가중치가 구해질 때마다 그 값을 배열의 값에 곱한 뒤 누적합니다.
DEC = DEC + (K * S[P])
DEC = DEC + ( 2**6 * S[2])
DEC = DEC + ( 2**6 * 0)
DEC = DEC + ( 0 )
이와 같이 각 자리의 가중치를 배열의 해당 위치의 값과 곱한 뒤 누적하면 10진수로 변환됩니다.
오늘도 즐거운 하루 되세요.