구조체와 자료구조를 이해하는 Big Number 연산의 소개
C 입문서에는 자세히 다루지는 않지만 실무에서 가장 많이 사용하는 C의 개념 중 하나는 구조체다. 배열과는 다르게 서로 다른 자료형을 묶어 한꺼번에 처리할 수 있기 때문이다. 이러한 구조체의 개념은 객체 지향 프로그래밍이 가진 클래스 개념의 기초가 되기도 한다.
이 책에서 다루는 Big Number 연산은 구조체를 이용해 일반 자료형의 범위를 넘는 큰 데이터를 다루는 알고리즘을 이해하고, 이러한 데이터가 메모리에 저장되는 자료구조를 이해해 다양한 프로그래밍에 대응할 수 있는 힘을 길러준다. 또한 소수와 RSA 알고리즘을 살펴보면서 학술적 연산에 응용할 수 있는 방법도 살펴본다.
대상 독자
프로그래밍 기초부터 응용 연산까지 단계적으로 Big Number 연산의 핵심을 이해한다
이 책은 먼저 Big Number 연산의 핵심을 이루는 구조체, 포인터, 비교 함수를 소개해 구조체 중심으로 다양한 자료형을 다룰 수 있는 기반을 다진다. 그리고 이 구조체를 이용해 기본적인 사칙 연산과 고급 연산의 알고리즘을 설명하고 이를 실제 프로그래밍하면서 다양한 자료형을 다루는 방법을 배워본다. 또한 구현한 프로그램을 중심으로 소수와 RSA 알고리즘을 가볍게 다루면서 실무에서 다양한 자료형을 다루는 응용 기업을 설명한다. 부록에서는 저자가 프로그래밍하면서 지켜야 할 원칙을 설명하는 'How to Programming'의 핵심을 소개한다. 책에서 중점적으로 설명하는 프로그래밍 언어는 C다. 하지만 C++ 예제 파일을 함께 제공하여 독자 여러분이 스스로 응용해볼 수 있도록 한다.
1장. 왜 Big Number인가?
2장. 새로운 자료형 정의
2.1 포인터
2.2 구조체
2.3 malloc( ) 함수와 free( ) 함수
2.4 구조체를 이용한 새로운 자료형
2.5 BIG_DECIMAL 구조체
2.6 BIG_BINARY 구조체
2.7 비교 함수
3장. 사칙 연산
3.1 더하기 연산
3.2 빼기 연산
3.3 곱하기 연산
3.4 나누기 연산
3.5 나머지 연산
4장. 소수
4.1 소수 알고리즘
4.2 가장 큰 소수 구하기
4.3 소수 알고리즘 테스트
5장. 고급 연산
5.1 진수 변환
5.2 지수 곱
5.3 지수를 가진 수의 나머지 연산
5.4 인수분해
6장. RSA
6.1 RSA 개요
6.2 공개 키와 비밀 키
6.3 암호화와 복호화
6.4 RSA 테스트
부록. APPENDIX
A Big Number 연산에 필요한 C 기초
B 코드를 만드는 방법
C 디버깅 방법
D 코드를 분석하는 방법
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-12-28 | 다운로드 |
리얼타임 eBook 안내
PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.