본문 바로가기

추천 검색어

실시간 인기 검색어

해커의 기쁨

비트와 바이트 그리고 알고리즘
헨리 워렌 지음 | 류광 옮김
제이펍

2021년 07월 26일 출간

종이책 : 2013년 07월 22일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (13.51MB)
ISBN 9791191600292
쪽수 579쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 22,400원

쿠폰적용가 20,160

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

『해커의 기쁨』은 프로그래밍 핵(hack)들의 모음집이다. 프로그래머가 효율적인 소프트웨어를 만드는 데 도움이 되기 위해 시간 절약 기법, 알고리즘, 요령 들을 수록하였다. 이번 판에서는 순환중복 검사, 오류 보정 부호, 몫을 구하지 않고 나머지를 계산하는 방법, 배열 개체수, 압축과 확장을 위한 새 알고리즘, 부동소수점과 정수의 상호 변환 등을 새롭게 실었다.
Chapter 1 소개 / 1
1-1 표기법 1
1-2 명령 집합과 실행 시간 모형 6

Chapter 2 기초 / 13
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의 거듭제곱 경계들 / 69
3-1 알려진 2의 거듭제곱의 배수로 반올림·반내림 69
3-2 그다음 2의 거듭제곱으로의 반올림·반내림 70
3-3 2의 거듭제곱 경계 횡단 검출 73

Chapter 4 산술 경계 / 77
4-1 정수 경계 점검 77
4-2 더하기와 빼기를 통한 경계 전파 80
4-3 논리 연산을 통한 경계 전파 84

Chapter 5 비트 개수 세기 / 91
5-1 값이 1인 비트 세기 91
5-2 패리티 108
5-3 선행 0 개수 세기 111
5-4 후행 0 개수 세기 121

Chapter 6 워드 검색 / 133
6-1 첫 0-바이트 찾기 133
6-2 주어진 길이의 첫 1-비트열 찾기 140
6-3 가장 긴 1-비트열 찾기 143
6-4 가장 짧은 1-비트열 찾기 145

Chapter 7 비트와 바이트의 재배치 / 149
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 곱셈 / 197
8-1 다중워드 곱셈 197
8-2 64비트 곱의 상위 절반 200
8-3 부호 있는/없는 상위 곱의 상호 변환 201
8-4 상수 곱하기 202

Chapter 9 정수 나눗셈 / 207
9-1 소개 207
9-2 다중워드 나눗셈 211
9-3 부호 있는 나눗셈을 이용한 부호 없는 짧은 나눗셈 216
9-4 부호 없는 긴 나눗셈 219
9-5 긴 나눗셈을 이용한 이중워드 나눗셈 225

Chapter 10 상수가 제수인 정수 나눗셈 / 233
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 기본 함수 몇 가지 / 319
11-1 정수 제곱근 319
11-2 정수 세제곱근 328
11-3 정수 거듭제곱 329
11-4 정수 로그 332

Chapter 12 색다른 기수의 수체계 / 341
12-1 기수 -2 341
12-2 기수 -1 + i 수체계 349
12-3 기타 기수들 352
12-4 가장 효율적인 기수는? 353

Chapter 13 그레이 부호 / 355
13-1 그레이 부호 355
13-2 그레이 부호화 정수의 증가 358
13-3 음이진 그레이 부호 360
13-4 간략한 역사 및 응용 360

Chapter 14 순환 중복 검사(CRC) / 365
14-1 소개 365
14-2 이론 367
14-3 실제 응용 370

Chapter 15 오류 보정 부호 / 379
15-1 소개 379
15-2 해밍 부호 380
15-3 정보 비트 32개용 SEC-DED를 위한 소프트웨어 386
15-4 오류 보정에 대한 좀 더 일반적인 고찰 392

Chapter 16 힐베르트 곡선 / 405
16-1 힐베르트 곡선의 생성을 위한 재귀적 알고리즘 406
16-2 힐베르트 곡선을 따라 이동한 거리에 따른 좌표 계산 410
16-3 힐베르트 곡선의 한 점까지의 거리 417
16-4 힐베르트 곡선에서의 좌표 증가 419
16-5 비재귀적 생성 알

우아한 프로그래밍, 바로 써먹는 알고리즘!
『해커의 기쁨(제2판)』은 헨리 워렌이 다시금 만들어 낸, 프로그래밍 핵(hack)들의 거부할 수 없는 모음집이다. 프로그래머가 좀 더 우아하고 효율적인 소프트웨어를 만드는 데 도움이 되는 시간 절약 기법들과 알고리즘, 요령들로 가득한 이 책은 프로그래밍에 대한 좀 더 깊은 통찰도 제공한다. 워렌의 핵들은 매우 실용적이면서도 본질적으로 흥미로우며, 위대한 퍼즐의 해법과 비슷하게 가끔은 예기치 못한 측면도 보여준다. 이들은 한마디로 말해서, 뭔가 개선할 기회가 생기면 마음이 들뜨는 모든 프로그래머에게 하나의 기쁨이다.

제2판에는 다음과 같은 방대한 내용이 새로이 추가되었다.
ㆍ 순환 중복 검사(CRC)에 대한 새로운 장 ― 흔히 쓰이는 CRC-32 부호를 위한 루틴들도 포함
ㆍ 오류 보정 부호(ECC)에 대한 새로운 장 ― 해밍 부호를 위한 루틴들도 포함
ㆍ 상수를 제수로 한 정수 나눗셈에 대한 좀 더 자세한 내용 ― 자리이동과 더하기 명령만 사용하는 방법들도 포함
ㆍ 몫을 구하지 않고 나머지를 계산하는 방법
ㆍ 개체수(1-비트 개수) 및 선행 0-비트 개수에 대한 좀 더 자세한 내용
ㆍ 배열 개체수
ㆍ 압축과 확장을 위한 새 알고리즘들
ㆍ LRU 알고리즘
ㆍ 부동소수점과 정수의 상호 변환
ㆍ 부동소수점 역제곱근 근사 루틴
ㆍ 이산 함수 그래프 모음
ㆍ 많이들 기다렸던 연습문제와 해답

추천사
이 책은 컴퓨터 산술의 깊고 어두운 비밀을 말해준다고 약속하는 최초의 책으로, 실제로도 그런 비밀을 낱낱이 밝힌다. 이 책에는 내가 아는 것보다 훨씬 많은 요령이 들어 있다. 라이브러리 개발자와 컴파일러 작성자, 그리고 우아한 해킹을 사랑하는 이에게 신의 선물과도 같은 이 책은 책장의 커누스 책 옆에 꽂아두기에 손색이 없다. 제1판이 나온 지 10년 동안, Sun과 Google에서 일하면서 이 책을 아주 유용하게 사용했다. 그리고 제2판에 수록된 새로운 내용 전부가 나를 전율케 한다.
_ 조슈어 블로크(Joshua Bloch)

처음 이 책을 보았을 때 다른 컴퓨터에 침입하는 방법을 가르치는 책이거나(그럴 것 같지는 않았지만) 아니면 작은 프로그래밍 요령들을 대충 그러모은 책일 것이라고 짐작했다. 알고 보니 후자이긴 하지만, 해당 주제를 거의 백과사전 수준으로 상세히 다룬 책이었다. 제2판에는 새로운 주요 주제를 다루는 두 개의 장이 추가되었으며, 전체적으로 수십 가지의 작은 요령들이 추가되었다. 그중 하나는 내가 이진 검색 알고리즘에 바로 써먹었는데, 바로 두 정수의 평균을 넘침(overflow)이 일어날 걱정 없이 계산하는 기법이다. 책 제목대로, 해커로서의 나는 실제로 기쁨을 얻었다.
_ 가이 스틸(Guy Steele)

작가정보

저자(글) 헨리 워렌

저자 : 헨리 워렌
저자 헨리 워렌(Henry S. Warren, Jr.)은 IBM에서 50년간 근무한 개발자로, IBM 704에서 PowerPC와 그 이후의 제품들을 다루었다. 그는 Jack Schwartz 아래에서 다양한 군사 명령 및 통제 시스템과 SETL(SET Language) 프로젝트에 참여했다. 1973년부터는 컴파일러와 컴퓨터 아키텍처에 초점을 두고 IBM의 연구부서에서 일했다. 현재는 엑사플롭을 목표로 한 슈퍼컴퓨터 프로젝트에서 일하고 있다. 그는 New York University의 Courant Institute에서 전산학 박사 학위를 받았다.

역자 : 류광
역자 류광은 1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 『Game Programming Gems』 시리즈와 Knuth 교수의 고전 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈, Bjarne Stroustrup의 『C++로 배우는 프로그래밍의 원리와 실제』(Programming: Principles and Practice Using C++)를 비롯한 다양한 분야의 프로그래밍 서적을 50여 권 넘게 번역했다. 번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심을 가지고 있으며, 수많은 오픈소스 프로젝트들의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    해커의 기쁨 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    해커의 기쁨 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    해커의 기쁨
    비트와 바이트 그리고 알고리즘
    저자 모두보기
    저자(글)
    번역
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)