2의 보수(Two’s Complement)

κ°œμš”

2의 λ³΄μˆ˜λŠ” 컴퓨터 κ³Όν•™κ³Ό λ””μ§€ν„Έ μ „μžκ³΅ν•™μ—μ„œ 숫자λ₯Ό ν‘œν˜„ν•˜κ³  μ—°μ‚°ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 핡심적인 κ°œλ…μž…λ‹ˆλ‹€. 이 λ³΄κ³ μ„œμ—μ„œλŠ” 2의 보수의 μ£Όμš” ν™œμš© 사둀와 κ΅¬ν˜„ 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€.

μ£Όμš” ν™œμš© λΆ„μ•Ό

음수 ν‘œν˜„

μ»΄ν“¨ν„°λŠ” μ΄μ§„μˆ˜ 체계λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— 음수λ₯Ό ν‘œν˜„ν•˜λŠ” 데 νŠΉλ³„ν•œ 방식이 ν•„μš”ν•©λ‹ˆλ‹€. 2의 λ³΄μˆ˜λŠ” μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 효과적인 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 8λΉ„νŠΈ μ‹œμŠ€ν…œμ—μ„œ -5λŠ” 11111011둜 ν‘œν˜„λ©λ‹ˆλ‹€.

λΊ„μ…ˆ μ—°μ‚°μ˜ μ΅œμ ν™”

λΊ„μ…ˆ 연산은 2의 보수λ₯Ό ν™œμš©ν•˜μ—¬ λ§μ…ˆμœΌλ‘œ λ³€ν™˜λ  수 μžˆμŠ΅λ‹ˆλ‹€. A-B의 연산은 A+(B의 2의 보수)둜 μˆ˜ν–‰λ  수 μžˆμ–΄, ν•˜λ“œμ›¨μ–΄ κ΅¬ν˜„μ΄ 맀우 νš¨μœ¨μ μž…λ‹ˆλ‹€.

μ‚°μˆ  μ—°μ‚°μ˜ κ°„μ†Œν™”

2의 보수 μ²΄κ³„μ—μ„œλŠ” λ§μ…ˆκ³Ό λΊ„μ…ˆμ„ λ™μΌν•œ 회둜둜 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μŒμˆ˜μ™€ μ–‘μˆ˜μ˜ 연산을 ν†΅ν•©μ μœΌλ‘œ μ²˜λ¦¬ν•  수 있게 ν•˜μ—¬ ν•˜λ“œμ›¨μ–΄ 섀계λ₯Ό λ‹¨μˆœν™”ν•©λ‹ˆλ‹€.

μ˜€λ²„ν”Œλ‘œμš° 감지 κΈ°λŠ₯

2의 보수 μ‹œμŠ€ν…œμ—μ„œλŠ” μ—°μ‚° 쀑 λ°œμƒν•˜λŠ” μ˜€λ²„ν”Œλ‘œμš°λ₯Ό 효과적으둜 감지할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΅œμƒμœ„ λΉ„νŠΈ(λΆ€ν˜Έ λΉ„νŠΈ)의 μ˜ˆμƒμΉ˜ λͺ»ν•œ λ³€ν™”λ₯Ό 톡해 μ˜€λ²„ν”Œλ‘œμš° λ°œμƒμ„ μ‰½κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ©”λͺ¨λ¦¬ νš¨μœ¨μ„±

2의 λ³΄μˆ˜λŠ” μ–‘μˆ˜μ™€ 음수λ₯Ό λ™μΌν•œ λΉ„νŠΈ 수둜 ν‘œν˜„ν•  수 μžˆμ–΄ λ©”λͺ¨λ¦¬ μ‚¬μš©μ΄ νš¨μœ¨μ μž…λ‹ˆλ‹€. λΆ€ν˜Έμ™€ μ ˆλŒ€κ°’μ„ λ³„λ„λ‘œ μ €μž₯ν•  ν•„μš”κ°€ μ—†μ–΄ λ©”λͺ¨λ¦¬ 관리가 μš©μ΄ν•©λ‹ˆλ‹€.

2의 보수 계산 방법

2의 보수λ₯Ό κ³„μ‚°ν•˜λŠ” 과정은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. λŒ€μƒ 숫자λ₯Ό μ΄μ§„μˆ˜λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.
  2. λͺ¨λ“  λΉ„νŠΈλ₯Ό λ°˜μ „μ‹œν‚΅λ‹ˆλ‹€(0β†’1, 1β†’0).
  3. 결과값에 1을 λ”ν•©λ‹ˆλ‹€.

계산 μ˜ˆμ‹œ

-5의 2의 보수 계산 κ³Όμ •:

  1. 5의 μ΄μ§„μˆ˜ ν‘œν˜„: 00000101 (8λΉ„νŠΈ)
  2. λΉ„νŠΈ λ°˜μ „: 11111010
  3. 1 λ”ν•˜κΈ°: 11111011 (μ΅œμ’… κ²°κ³Ό)

μ‹€μ œ μ‘μš© 사둀

ν”„λ‘œμ„Έμ„œ μ—°μ‚°

CPU의 μ‚°μˆ  논리 μ—°μ‚° μœ λ‹›(ALU)μ—μ„œ 음수 ν‘œν˜„κ³Ό μ‚°μˆ  연산을 μ²˜λ¦¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

μž„λ² λ””λ“œ μ‹œμŠ€ν…œ

각쒅 μ„Όμ„œμ—μ„œ μˆ˜μ§‘λœ λ°μ΄ν„°μ˜ λΆ€ν˜Έ μžˆλŠ” 값을 μ²˜λ¦¬ν•˜λŠ” 데 ν™œμš©λ©λ‹ˆλ‹€.

λ””μ§€ν„Έ μ‹ ν˜Έ 처리

μ˜€λ””μ˜€λ‚˜ μ˜μƒ μ²˜λ¦¬μ—μ„œ 음의 진폭 데이터λ₯Ό ν‘œν˜„ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

κ²°λ‘ 

2의 λ³΄μˆ˜λŠ” ν˜„λŒ€ 컴퓨터 μ‹œμŠ€ν…œμ—μ„œ ν•„μˆ˜μ μΈ κ°œλ…μœΌλ‘œ, 효율적인 μ—°μ‚°κ³Ό λ©”λͺ¨λ¦¬ 관리λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. 이 κ°œλ…μ˜ κΈ°λ³Έ 원리λ₯Ό μ΄ν•΄ν•˜λ©΄ 더 λ³΅μž‘ν•œ μ‹œμŠ€ν…œ 섀계와 κ΅¬ν˜„μ—λ„ μ‘μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.