2진수에서 10진수로의 변환 알고리즘

2진수를 10진수로 변환하는 알고리즘

- 변환할 2진수는 크기가 8인 배열 T에 제공되어 제공

- 첫번째 비트는 T(1)은 2진수의 부호 나타냄, 0이면 양수, 1이면 음수

- 첫번째 비트 T(1)의 값이 1인 음수 경우 2의 보수에 의해 크기가 표현된다

- 함수 ABS(X)는 절대값을 계산해주는 함수다

- 함수 POWER(X,Y)는 X의 Y제곱, 즉 X의 Y제곱을 계산해주는 함수

 

10진수 2진수로 바꾸기

-10을 바꿀때 

1. 음수 부호 생략 10

2. 2진수로 변형 00001010

3. 1의 보수화 11110101

4. 1 더하기 11110110

 

2진수 10진수로 바꾸기

1. 1을 빼기 11110110

2. 1의 보수화 00001001

3. 10진수로 변형 10

4. 음수 부호 추가 -10

 

+ 2의 보수로 표현된 2진수 음수에서 1을 빼려면 최하위 비트 T(8)에서부터 적용

T(8) = 1 이면 T(8) - 1 = 0

 

T(8) = 0 이면 T(8) - 1 = -1

+ 앞에 있는 T(7)의 감수 1 발생-> T(8)은 2진수이므로 음수 부호 뺀 절댓값 1로 조정하여 저장

T(7)도 안되면 앞으로 Borrow빼는 작업 반복된다.

 

2진수 10진수로 바꾸는 순서도

 


10진수에서 16진수로 변환 알고리즘

10진수를 16진수로 변환하는 알고리즘

- 입력으로 주어지는 10진수는 변수 D에 저장하여 처리

- 16진수를 나타내는 각 숫자에 해당하는 문자는 문자형 배열 변수 H(16)에 저장

H(0)=0 , H(1)=1, .... H(14)=E, H(15)=F

16진수는 최대 20자리까지 보관가능

 

16진수 = 0~15까지. 10~15는 A,B,C,D,E,F로 나타냄

 

16진수를 10진수로 변환하는 알고리즘

주어진 10진수를 16으로 나누었을때 생긴 몫을 다시 나누기 반복 몫 생기지 않을때까지 반복

- 10진수 D를 16으로 나누어 몫 나머지 구하기

- 배열 원소 H(나머지)DP 10진수 D를 16진수로 변환하였을때 가장 오른쪽 자리 16의 0게곱에 나타나는 게 16진수가 된다. 나머지가 15이면 H(15)=F이다.

 

순서도

+ 10진수 8진수로 변환


코드변환과 패리티 비트 점검 알고리즘

BCD코드와 3초과 코드 변환

10진수 0~9를 BCD로 표현하면 4자리 필요 10개만 사용

EX) 10진수 127을 BCD코드로 표현시 0001 0010 0111

 

3초과 코드는 10진수로 3, 2진수로 0011을 더한 코드

-> 0개수가 많아서

 

순서도


패리티 비트 검증

- 입력으로 총 9비트 받음

- 첫번째 비트는 패리티 검사 방식으로 함, 그 값이 1이면 홀수 패리티 0이면 짝수 패리티

- 나머지 8개 비트는 0 또는 1의 값을 갖는 데이터 영역

- 홀수 패리티는 8비트 데이터 영역에 저장된 1의 개수가 홀수 개인 경우에 오류가 없음

- 짝수 패리티는 8비트 데이터 영역에 저장된 1의 개수가 짝수 개인 경우 오류 없음

- 패리티 검사를 오류 없으면 오류 미발견으로 출력, 오류 있음녀 오류 발견 출력

 

순서도

+ 그레이 코드 특징 : 이웃한 숫자끼리 한자리만 바뀜.  Exclusive OR연산으로 그레이 코드를 2진수로 2진수를 그레이코드로 바꿈

 

2진수=BCD


열 우선 - 삼각형 배열 채우기 알고리즘

행 우선/ 열 우선 채우기

2차원 배열 A(5,5)원소에 값을 저장해주는 알고리즘 제시

 

 

순서도


삼각형 모양으로 배열 채우기

2차원 배열 A(5,5)의 원소 밑에 그림과 같은 모습으로 저장하는 알고리즘

1 ~ 15로 증가

1열

2열

3열

4열

5열

따라서 R행은 R열부터 시작 -> 삼각형 모양

- 채워야 할 배열 A는 5행 5열 총 15개 원소값

R은 1~5로 바뀌고 시작하는 위치도 1~5

 

순서도

 

+ 삼각형 모양으로 배열 채우기를 반복 기호를 이용하여 표현


마름모 모양 - ㄹ자 모양 배열 채우기 알고리즘

마름모 모양으로 배열 채우기

이런 모양 알고리즘

 

                A(1,3)

        A(2,2) A(2,3) A(2,4)

A(3,1) A(3,2) A(3,3) A(3,4) A(3,5)

        A(4,2) A(4,3) A(4,4)

                A(5,3)

 

 

 

 

각 행에서 열의 범위는 좌측 하한선부터 우측 상한선 까지


ㄹ자 모양으로 배열 채우기

ㄹ자 모양 저장해주는 알고리즘

행은 고정 열이 1~5증가

 

행은 고정 열이 5~1감소

 

행은 고정 열이 1~5증가

 

행은 고정 열이 5~1감소

 

행은 고정 열이 1~5증가

 

왔다갔다 ㄹ 자 모양

 

순서도


모래시계-달팽이 모양 배열 채우기

모래시계 모양으로 배열 채우기

A(5,5)원소 알고리즘

행은 1~5

열은 모래시계 모양으로

 

행 가운데까지 감소하다가

 

증가

 

 

 

 

 

 

 

순서도

+ 옆으로 누워있는 모래시계


달팽이 모양으로 배열 채우기

1~25까지 채우는 알고리즘

 

순서도


행렬의 곱셈과 덧셈 알고리즘

2차원 배열 3개 주어진 A(2,4) B(4,3) S(2,3)존재시

(2 * 4) * (4*3) = 2 * 3

 

 

순서도

 

 

+ Recent posts