| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000045804125 | |
| 005 | 20181212135519 | |
| 007 | ta | |
| 008 | 140710s2013 ggkad b 001c kor | |
| 020 | ▼a 9788994506692 ▼g 93000 | |
| 035 | ▼a (KERIS)BIB000013233060 | |
| 040 | ▼a 211062 ▼c 211062 ▼d 221022 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 0 | ▼a 005.1 ▼2 23 |
| 085 | ▼a 005.1 ▼2 DDCK | |
| 090 | ▼a 005.1 ▼b 2013z8 | |
| 100 | 1 | ▼a Warren, Henry S. |
| 245 | 1 0 | ▼a 해커의 기쁨 : ▼b 비트와 바이트 그리고 알고리즘 / ▼d 헨리 워렌 지음 ; ▼e 류광 옮김 |
| 246 | 1 9 | ▼a Hacker's delight ▼g (2nd ed.) |
| 260 | ▼a 파주 : ▼b 제이펍, ▼c 2013 ▼g (2016 2쇄) | |
| 300 | ▼a xviii, 558 p. : ▼b 삽화, 도표 ; ▼c 25 cm | |
| 500 | ▼a 부록: 1. 4비트 컴퓨터를 위한 산술 연산표, 2. 뉴턴의 반복법, 3. 이산 함수 그래프 모음 | |
| 504 | ▼a 참고문헌(p. [539]-547)과 색인수록 | |
| 650 | 0 | ▼a Computer programming |
| 700 | 1 | ▼a 류광, ▼e 역 |
| 900 | 1 0 | ▼a 워렌, 헨리, ▼e 저 |
| 945 | ▼a KLPA |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2013z8 | 등록번호 121230187 (3회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2013z8 | 등록번호 121247039 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
헨리 워렌이 다시금 만들어 낸, 프로그래밍 핵(hack)들의 거부할 수 없는 모음집이다. 프로그래머가 좀 더 우아하고 효율적인 소프트웨어를 만드는 데 도움이 되는 시간 절약 기법들과 알고리즘, 요령들로 가득한 이 책은 프로그래밍에 대한 좀 더 깊은 통찰도 제공한다. 워렌의 핵들은 매우 실용적이면서도 본질적으로 흥미로우며, 위대한 퍼즐의 해법과 비슷하게 가끔은 예기치 못한 측면도 보여준다.
우아한 프로그래밍, 바로 써먹는 알고리즘!
『해커의 기쁨(제2판)』은 헨리 워렌이 다시금 만들어 낸, 프로그래밍 핵(hack)들의 거부할 수 없는 모음집이다. 프로그래머가 좀 더 우아하고 효율적인 소프트웨어를 만드는 데 도움이 되는 시간 절약 기법들과 알고리즘, 요령들로 가득한 이 책은 프로그래밍에 대한 좀 더 깊은 통찰도 제공한다. 워렌의 핵들은 매우 실용적이면서도 본질적으로 흥미로우며, 위대한 퍼즐의 해법과 비슷하게 가끔은 예기치 못한 측면도 보여준다. 이들은 한마디로 말해서, 뭔가 개선할 기회가 생기면 마음이 들뜨는 모든 프로그래머에게 하나의 기쁨이다.
제2판에는 다음과 같은 방대한 내용이 새로이 추가되었다.
- 순환 중복 검사(CRC)에 대한 새로운 장 ― 흔히 쓰이는 CRC-32 부호를 위한 루틴들도 포함
- 오류 보정 부호(ECC)에 대한 새로운 장 ― 해밍 부호를 위한 루틴들도 포함
- 상수를 제수로 한 정수 나눗셈에 대한 좀 더 자세한 내용 ― 자리이동과 더하기 명령만 사용하는 방법들도 포함
- 몫을 구하지 않고 나머지를 계산하는 방법
- 개체수(1-비트 개수) 및 선행 0-비트 개수에 대한 좀 더 자세한 내용
- 배열 개체수
- 압축과 확장을 위한 새 알고리즘들
- LRU 알고리즘
- 부동소수점과 정수의 상호 변환
- 부동소수점 역제곱근 근사 루틴
- 이산 함수 그래프 모음
- 많이들 기다렸던 연습문제와 해답
정보제공 :
저자소개
헨리 워렌(지은이)
IBM에서 50년간 근무한 개발자로, IBM 704에서 PowerPC와 그 이후의 제품들을 다루었다. 그는 Jack Schwartz 아래에서 다양한 군사 명령 및 통제 시스템과 SETL(SET Language) 프로젝트에 참여했다. 1973년부터는 컴파일러와 컴퓨터 아키텍처에 초점을 두고 IBM의 연구부서에서 일했다. 현재는 엑사플롭을 목표로 한 슈퍼컴퓨터 프로젝트에서 일하고 있다. 그는 New York University의 Courant Institute에서 전산학 박사 학위를 받았다.
류광(옮긴이)
도널드 커누스 교수의 《컴퓨터 프로그래밍의 예술》 시리즈를 비롯해 다양한 IT 전문서를 번역한 전문 번역가이다. 생성형 AI 관련 번역서로는 《마스터링 트랜스포머》 《실전! RAG 기반 생성형 AI 개발》 《LLM 인 프로덕션》 《AI 에이전트 인 액션》 등이 있다. 개인 웹사이트 류광의 번역 이야기(https://occamsrazr.net)와 IT 및 게임 개발 정보 공유 사이트 GpgStudy.com(https://gpgstudy.com)을 운영한다.
목차
옮긴이 머리말 = ⅶ 추천사 = xiv 머리말 = xvi Chapter 1. 소개 1-1 표기법 = 1 1-2 명령 집합과 실행 시간 모형 = 6 Chapter 2. 기초 2-1. 제일 오른쪽 비트 다루기 = 13 2-2. 논리 연산과 결합된 덧셈 = 19 2-3. 논리식과 산술식의 부등 = 21 2-4. 절댓값 함수 = 22 2-5. 두 정수의 평균 = 22 2-6. 부호 확장 = 23 2-7. 부호 없는 오른쪽 자리이동으로 부호 있는 오른쪽 자리이동 구현 = 24 2-8. 부호 함수 = 25 2-9. 세 값 비교 함수 = 25 2-10. 부호 전달 함수 = 26 2-11. "0은$$2^{**}$$ n을 뜻함" 필드의 복호화 = 27 2-12. 비교 술어 = 27 2-13. 넘침 검출 = 33 2-14. 더하기, 빼기, 곱하기 결과의 조건 부호 = 43 2-15. 순환 자리이동 = 44 2-16. 두 배 길이 더하기ㆍ빼기 명령 = 45 2-17. 두 배 길이 자리이동 = 46 2-18. 다중 바이트 덧셈, 뺄셈, 절댓값 = 47 2-19. 차 또는 0(doz), 최댓값(max), 최솟값(min) = 49 2-20. 레지스터 교환 = 54 2-21. 둘 이상의 값들을 교대로 설정 = 57 2-22. 부울 분해 공식 = 60 2-23. 열여섯 가지 이항 부울 연산을 모두 구현하는 명령들 = 62 Chapter 3. 2의 거듭제곱 경계들 3-1. 알려진 2의 거듭제곱의 배수로 반올림ㆍ반내림 = 69 3-2. 그다음 2의 거듭제곱으로의 반올림ㆍ반내림 = 70 3-3. 2의 거듭제곱 경계 횡단 검출 = 73 Chapter 4. 산술 경계 4-1. 정수 경계 점검 = 77 4-2. 더하기와 빼기를 통한 경계 전파 = 80 4-3. 논리 연산을 통한 경계 전파 = 84 Chapter 5. 비트 개수 세기 5-1. 값이 1인 비트 세기 = 91 5-2. 패리티 = 108 5-3. 선행 0 개수 세기 = 111 5-4. 후행 0 개수 세기 = 121 Chapter 6. 워드 검색 6-1. 첫 0-바이트 찾기 = 133 6-2. 주어진 길이의 첫 1-비트열 찾기 = 140 6-3. 가장 긴 1-비트열 찾기 = 143 6-4. 가장 짧은 1-비트열 찾기 = 145 Chapter 7. 비트와 바이트의 재배치 7-1. 비트, 바이트 뒤집기 = 149 7-2. 비트 뒤섞기 = 161 7-3. 비트 행렬의 전치 = 163 7-4. 압축 또는 일반화된 추출 = 173 7-5. 확장 또는 일반화된 삽입 = 180 7-6. 압축과 확장을 위한 하드웨어 알고리즘 = 181 7-7. 일반적인 치환과 '양과 염소' 연산 = 186 7-8. 재배치와 색인 변환 = 191 7-9. LRU 알고리즘 = 192 Chapter 8. 곱셈 8-1. 다중워드 곱셈 = 197 8-2. 64비트 곱의 상위 절반 = 200 8-3. 부호 있는/없는 상위 곱의 상호 변환 = 201 8-4. 상수 곱하기 = 202 Chapter 9. 정수 나눗셈 9-1. 소개 = 207 9-2. 다중워드 나눗셈 = 211 9-3. 부호 있는 나눗셈을 이용한 부호 없는 짧은 나눗셈 = 216 9-4. 부호 없는 긴 나눗셈 = 219 9-5. 긴 나눗셈을 이용한 이중워드 나눗셈 = 225 Chapter 10. 상수가 제수인 정수 나눗셈 10-1. 알려진 2의 거듭제곱이 제수인 부호 있는 나눗셈 = 233 10-2. 알려진 2의 거듭제곱이 제수인 나눗셈의 부호 있는 나머지 구하기 = 234 10-3. 제수가 2의 거듭제곱이 아닌 부호 있는 나눗셈과 나머지 = 236 10-4. 제수가 2 이상인 부호 있는 나눗셈 = 240 10-5. 제수가 -2 이하인 부호 있는 나눗셈 = 249 10-6. 컴파일러에 통합 = 251 10-7. 기타 주제들 = 255 10-8. 부호 없는 나눗셈 = 259 10-9. 제수가 1 이상인 부호 없는 나눗셈 = 262 10-10. 컴파일러에 통합(부호 없는 경우) = 265 10-11. 기타 주제들(부호 없는 경우) = 268 10-12. 법ㆍ바닥 나눗셈에 대한 적용 가능성 = 271 10-13. 비슷한 방법들 = 271 10-14. 마법의 수들의 예 = 273 10-15. 간단한 파이썬 코드 = 274 10-16. 제수가 상수인 완전 나눗셈 = 274 10-17. 상수로 나눈 나머지가 0인지 점검 = 283 10-18. 상위 곱하기 명령을 사용하지 않는 방법들 = 287 10-19. 숫자들의 합산을 통한 나머지 계산 = 299 10-20. 곱셈과 오른쪽 자리이동을 이용한 나머지 계산 = 306 10-21. 완전 나눗셈으로의 변환 = 313 10-22. 시간 측정 = 315 10-23. 제수가 3인 나눗셈을 위한 회로 = 316 Chapter 11. 기본 함수 몇 =가지 11-1. 정수 제곱근 = 319 11-2. 정수 세제곱근 = 328 11-3. 정수 거듭제곱 = 329 11-4. 정수 로그 = 332 Chapter 12. 색다른 기수의 수체계 12-1. 기수 -2 = 341 12-2. 기수 -1+i 수체계 = 349 12-3. 기타 기수들 = 352 12-4. 가장 효율적인 기수는? = 353 Chapter 13. 그레이 부호 13-1. 그레이 부호 = 355 13-2. 그레이 부호화 정수의 증가 = 358 13-3. 음이진 그레이 부호 = 360 13-4. 간략한 역사 및 응용 = 360 Chapter 14. 순환 중복 검사(CRC) 14-1. 소개 = 365 14-2. 이론 = 367 14-3. 실제 응용 = 370 Chapter 15. 오류 보정 부호 15-1. 소개 = 379 15-2. 해밍 부호 = 380 15-3. 정보 비트 32개용 SEC-DED를 위한 소프트웨어 = 386 15-4. 오류 보정에 대한 좀 더 일반적인 고찰 = 392 Chapter 16. 힐베르트 곡선 16-1. 힐베르트 곡선의 생성을 위한 재귀적 알고리즘 = 406 16-2. 힐베르트 곡선을 따라 이동한 거리에 따른 좌표 계산 = 410 16-3. 힐베르트 곡선의 한 점까지의 거리 = 417 16-4. 힐베르트 곡선에서의 좌표 증가 = 419 16-5. 비재귀적 생성 알고리즘 = 422 16-6. 그 외의 공간 채움 곡선 = 423 16-7. 응용 = 424 Chapter 17. 부동소수점 17-1. IEEE 형식 = 428 17-2. 부동소수점-정수 상호 변환 = 430 17-3. 정수 연산을 이용한 부동소수점 수들의 비교 = 434 17-4. 제곱근의 역수 근사 루틴 = 436 17-5. 선행 숫자들의 분포 = 439 17-6. 그 외의 여러 값들 = 441 Chapter 18. 소수를 위한 공식들 18-1. 소개 = 445 18-2. 윌런스의 공식 = 448 18-3. 워멜의 공식 = 452 18-4. 그 밖의 어려운 함수에 대한 공식들 = 453 연습문제 해답 부록 A. 4비트 컴퓨터를 위한 산술 연산표 = 517 부록 B. 뉴턴의 반복법 = 523 부록 C. 이산 함수 그래프 모음 = 527 C-1 정수에 대한 논리 연산들의 그래프 = 527 C-2 덧셈, 뺄셈, 곱셈 그래프 = 529 C-3 나눗셈 관련 함수들의 그래프 = 531 C-4 압축, SAG, 왼쪽 순환 자리이동 함수의 그래프 = 533 C-5 몇 가지 단항 함수들의 그래프 = 534 참고문헌 = 539 찾아보기 = 548



