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
순서도