πŸ“— ν•œ ꢌ으둜 μ½λŠ” 컴퓨터 ꡬ쑰와 ν”„λ‘œκ·Έλž˜λ°

BeanxxΒ·2022λ…„ 5μ›” 24일
0

Dev-Book

λͺ©λ‘ 보기
2/3
post-thumbnail

πŸ“˜ μ±… 제λͺ©: ν•œ ꢌ으둜 μ½λŠ” 컴퓨터 ꡬ쑰와 ν”„λ‘œκ·Έλž˜λ°
πŸ§‘β€πŸ’» μ±… μ €μž: μ‘°λ„ˆμ„  μŠ€νƒ€μΈν•˜νŠΈ
πŸ“„ νŽ˜μ΄μ§€: 612p (ν•˜λ£¨μ— μ•½ 10p정도씩 읽기)
πŸ“† 읽고 μžˆλŠ” κΈ°κ°„: 2022.05.25 ~ing

본격적으둜 컴퓨터에 λŒ€ν•œ, IT 지식을 μŒ“κΈ° μœ„ν•΄μ„œ 맀일 μ‘°κΈˆμ”©μ΄λΌλ„ 읽으렀고 λ„μ„œκ΄€μ—μ„œ λΉŒλ €μ™”λ‹€. 기둝 μ•ˆ ν•˜λ©΄ 금방 κΉŒλ¨ΉμœΌλ‹ˆκΉŒ κΈ°λ‘ν•˜λ©΄μ„œ 읽자 ➿

✍🏻 [2022.05.25.Wed]

➿ 쒋은 ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” 쒋은 λΉ„νŒμ  사고와 뢄석 κΈ°μˆ μ„ μ§€λ…€μ•Ό ν•œλ‹€. λ³΅μž‘ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” ν”„λ‘œκ·Έλž¨μ΄ μ˜¬λ°”λ₯Έ 문제λ₯Ό μ œλŒ€λ‘œ ν•΄κ²°ν•˜λŠ”μ§€ νŒλ‹¨ν•  λŠ₯λ ₯을 κ°–μΆ°μ•Ό ν•œλ‹€.
➿ 쒋은 ν”„λ‘œκ·Έλž˜λ¨Έλž€ μž‘λ™ν•  뿐만 μ•„λ‹ˆλΌ λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ΄ν•΄ν•˜κ³  μœ μ§€λ³΄μˆ˜ν•˜κΈ° μ‰¬μš΄ μ½”λ“œλ₯Ό μž‘μ„±ν•œλ‹€.
➿ 쒋은 ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” 컴퓨터 μž‘λ™μ„ 잘 이해해야 ν•œλ‹€. 기반 지식이 μ–•μœΌλ©΄ λ³΅μž‘ν•œ 문제λ₯Ό 잘 ν’€ 수 μ—†λ‹€. 이 책은 ν”„λ‘œκ·Έλž˜λ°μ„ 배우고 μžˆμ§€λ§Œ 깊이 λΆ€μ‘±μœΌλ‘œ 인해 λΆˆλ§Œμ‘±μŠ€λŸ¬μ›Œ ν•˜λŠ” μ‚¬λžŒμ„ μœ„ν•œ 책이닀. 그리고 이미 ν”„λ‘œκ·Έλž˜λ°μ„ λ°°μ› μ§€λ§Œ ν”„λ‘œκ·Έλž˜λ°κ³Ό 컴퓨터에 λŒ€ν•΄ 더 잘 μ•Œκ³  μ‹Άμ–΄ ν•˜λŠ” μ‚¬λžŒμ„ μœ„ν•œ 책이기도 ν•˜λ‹€.


βœ… 1μž₯. 컴퓨터 λ‚΄λΆ€μ˜ μ–Έμ–΄ 체계

πŸ”—Β λΉ„νŠΈ

  • binary(2진법 μ‚¬μš©; 0,1) + digit(숫자; 10μ§„μˆ˜: 0~9)
  • λΉ„νŠΈλ₯Ό μ‚¬μš©ν•˜λ©΄ 적은 λΉ„μš©μœΌλ‘œ νŽΈλ¦¬ν•˜κ²Œ 기호λ₯Ό 담을 수 μžˆλ‹€
  • λΉ„νŠΈλŠ” 2진법 μ‚¬μš©

논리 μ—°μ‚°(logic operation)
: λ‹€λ₯Έ λΉ„νŠΈλ“€μ΄ ν‘œν˜„ν•˜λŠ” λ‚΄μš©μœΌλ‘œλΆ€ν„° μƒˆλ‘œμš΄ λΉ„νŠΈλ₯Ό λ§Œλ“€μ–΄λ‚΄λŠ” λ™μž‘

πŸ”—Β λΆˆλ¦¬μ–Έ λŒ€μˆ˜(Boolean algebra)

λΉ„νŠΈμ— λŒ€ν•΄ μ‚¬μš©ν•  수 μžˆλŠ” μ—°μ‚° κ·œμΉ™μ˜ μ§‘ν•©

  • NOT: 논리적 λ°˜λŒ€ / 단지 μž…λ ₯의 μƒνƒœλ₯Ό λ°˜λŒ€λ‘œ λ°˜μ „
  • AND: λ‘˜ μ΄μƒμ˜ λΉ„νŠΈμ— μž‘μš© / λͺ¨λ‘ 참이어야 μ°Έ
  • OR: λ‘˜ μ΄μƒμ˜ λΉ„νŠΈμ— μž‘μš© / μ–΄λŠ ν•˜λ‚˜λΌλ„ 참이면 μ°Έ
  • XOR(eXclusive OR): 첫 번째 λΉ„νŠΈμ™€ 두 번째 λΉ„νŠΈκ°€ λ‹€λ₯Έ 값인 κ²½μš°μ—λ§Œ μ°Έ

πŸ”—Β λ“œλͺ¨λ₯΄κ°„μ˜ 법칙

a AND b μ—°μ‚° = NOT(NOT a OR NOT b)
β‡’ NOT을 μΆ©λΆ„νžˆ μ‚¬μš©ν•˜λ©΄ AND 연산을 OR μ—°μ‚°μœΌλ‘œ λŒ€μ‹ ν•  수 μžˆλ‹€(역도 성립)
πŸ‘Β μ—°μ‚°μ„ μ΅œμ†Œν™”ν•˜μ—¬ λΉ„μš©μ„ μ΅œμ†Œν™”ν•  수 있음

πŸ”—Β μ •μˆ˜λ₯Ό λΉ„νŠΈλ‘œ ν‘œν˜„ν•˜λŠ” 방법

  1. μ–‘μ˜ μ •μˆ˜ ν‘œν˜„
    ex. 2μ§„μˆ˜λ‘œ ν‘œν˜„ν•œ 5,028 β†’ 13λΉ„νŠΈ 수

    2^122^112^102^92^82^72^62^52^42^32^22^12^0
    1001110100100
    MSBLSB

    βœ‹Β MSB: Most Significant Bit
    βœ‹Β LSB: Least Significant Bit

  2. 2μ§„μˆ˜μ˜ λ§μ…ˆ
    ex. 1 + 5

    [1]001
    [5]101
    [6]110

    βœ‹Β 1 + 1 β†’ 2 (2μ§„μˆ˜μ—μ„œ 2λŠ” μ‘΄μž¬ν•˜μ§€μ•ŠμœΌλ―€λ‘œ 2λ₯Ό 2μ§„μˆ˜λ‘œ λ‚˜νƒ€λ‚΄λ©΄ 10 β†’ 즉 0을 ν‘œμ‹œν•˜κ³  λ‹€μŒ 자리 μˆ˜μ— 1을 올렀쀌
    βœ‹Β Overflow: μš°λ¦¬κ°€ μ‚¬μš©ν•  λΉ„νŠΈμ˜ 개수둜 ν‘œν˜„ν•  수 μžˆλŠ” λ²”μœ„λ₯Ό λ²—μ–΄λ‚  경우 λ°œμƒ β‡’ MSBμ—μ„œ 올림 λ°œμƒ
    βœ‹Β Underflow: MSB μœ„μͺ½μ—μ„œ 1을 λΉŒλ €μ˜€λŠ” 경우

  3. 음수 ν‘œν˜„
    a. λΆ€ν˜Έμ™€ 크기(sign and magnitude) ν‘œν˜„λ²•

    • MSBλ₯Ό λΆ€ν˜Έ ν‘œν˜„ (0: μ–‘μˆ˜, 1: 음수 μ·¨κΈ‰)
    • λ§Œμ•½ 4λΉ„νŠΈλΌλ©΄ MSBλ₯Ό λΆ€ν˜Έ λΉ„νŠΈ 취급을 ν•˜κ³  λ‚˜λ©΄ 0~7β†’ 8개 * 2(음수, μ–‘μˆ˜) β†’ 16개 - 1(+0 = -0) = 총 15κ°€μ§€μ˜ 수 ν‘œν˜„ κ°€λŠ₯
      βœ‹Β 0을 ν‘œν˜„ν•˜λŠ” 방법이 2κ°€μ§€(+0, -0)μ΄λ―€λ‘œ λΉ„μš© λ‚­λΉ„, XOR & AND λ§μ…ˆ 계산 μ‚¬μš© λΆˆκ°€ β†’ μ‚¬μš© X

    b. 1의 보수(one’s complement) ν‘œν˜„λ²•

    • μ–‘μˆ˜μ˜ λͺ¨λ“  λΉ„νŠΈλ₯Ό λ’€μ§‘λŠ” 방법

    • MSB μͺ½μ—μ„œ 올림이 λ°œμƒν•œ 경우 LSB둜 올림 전달
      β‡’ μˆœν™˜ 올림(end-around carry) ν•„μš”

      βœ‹Β 0을 ν‘œν˜„ν•˜λŠ” 방법이 2κ°€μ§€(+0, -0)μ΄λ―€λ‘œ λΉ„μš© λ‚­λΉ„, μˆœν™˜ 올림 방법 볡작 β†’ μ‚¬μš© X

    c. 2의 보수(two’s complement) ν‘œν˜„λ²•

    • λΆ€ν˜Έκ°€ μžˆλŠ” μ •μˆ˜λ₯Ό ν‘œν˜„ν•  λ•Œ κ°€μž₯ 널리 μ“°μ΄λŠ” 방법

    • 예λ₯Ό λ“€μ–΄ +1(0001)κ³Ό 더해 0(0000)을 λ§Œλ“€ 수 μžˆλŠ” 수인 -1의 2진법 수 μ°ΎκΈ°

      β†’ 즉, -1을 2진법 1111둜 ν‘œν˜„
      β‡’ μ–΄λ–€ 수의 λΉ„νŠΈλ₯Ό λ’€μ§‘κ³ (NOT) 1을 μΆ”κ°€ν•˜λ©΄ μ–΄λ–€ 수의 음수 ν‘œν˜„ κ°€λŠ₯

      βœ‹Β μ΄λ•Œ MSBμ—μ„œ 올림이 λ°œμƒν•˜λ©΄ 이 값은 버림
      πŸ‘Β 0의 쀑볡 ν‘œν˜„μ΄ μΌμ–΄λ‚˜μ§€ μ•ŠμŒ

profile
FE developer

0개의 λŒ“κΈ€