[컴퓨터과학 개둠] 2κ°• - 컴퓨터와 자료(2)

2025. 8. 22. 15:35Β·πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠

βœ… 1. 데이터와 정보

(1) 데이터와 μ •λ³΄μ˜ 관계

  • I = P(D): information = process(data) ν˜•νƒœλ‘œ ν”„λ‘œκ·Έλž¨μ— 데이터λ₯Ό λ„£μœΌλ©΄ 정보λ₯Ό μ–»λŠ” μˆ˜μ‹

(2) λ°μ΄ν„°μ˜ ν‘œν˜„ ν˜•νƒœ

  • λ°μ΄ν„°μ˜ μœ ν˜•κ³ΌλŠ” λ¬΄κ΄€ν•˜κ²Œ μΌκ΄€λœ ν‘œν˜„ 방식인 λΉ„νŠΈ νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ ν‘œν˜„μ„ ν•œλ‹€.
  • 즉, 문자, μ •μˆ˜, μ‹€μˆ˜, 이미지, λΉ„λ””μ˜€, μ˜€λ””μ˜€ λ“± λͺ¨λ“  λ°μ΄ν„°μ˜ ν‘œν˜„μ€ λΉ„νŠΈ νŒ¨ν„΄μœΌλ‘œ ν‘œν˜„μ΄ λœλ‹€λŠ” μ˜λ―Έμ΄λ‹€.
  • λ©”λͺ¨λ¦¬μ— μ €μž₯된 데이터 μœ ν˜•μ— λ§žλŠ” 해석과 μ²˜λ¦¬κ°€ ν•„μš”ν•˜κ³  이걸 ν•΄μ£ΌλŠ”κ²ƒμ΄ μž…μΆœλ ₯μž₯치, λ©”λͺ¨λ¦¬, ν”„λ‘œκ·Έλž¨/CPU이닀.

(3) λ°μ΄ν„°μ˜ ν‘œν˜„ λ‹¨μœ„

[ λΉ„νŠΈ: binary digit ]

  • λΉ„νŠΈλŠ” μ»΄ν“¨ν„°μ—μ„œ 데이터λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄  0 κ³Ό 1둜 ν‘œν˜„ν•˜λŠ” μ΅œμ†Œ λ‹¨μœ„μ΄λ‹€.

[ λ°”μ΄νŠΈ: byte ]

  • 0κ³Ό 1을 ν‘œν˜„ν•˜λŠ” ν•˜λ‚˜μ˜ λΉ„νŠΈλ₯Ό 8개 묢은것을 λ°”μ΄νŠΈ(byte) 라고함. 즉, 1byte = 2^8 μž„.
  • ν•˜λ‚˜μ˜ 문자(예: 'A')λ‚˜ μž‘μ€ 숫자 ν•˜λ‚˜λ₯Ό ν‘œν˜„ ν•  수 있음.
  • λ°”μ΄νŠΈ 외에도 μΆ”κ°€μ μœΌλ‘œ KB(2^10), MB(2^20), GB(2^30), TB(2^40), PB(2^50)... λ“±μ˜ λ‹¨μœ„κ°€ 있음.

[ μ›Œλ“œ: word ]

  • CPUκ°€ ν•œ λ²ˆμ— μ²˜λ¦¬ν•  수 μžˆλŠ” 데이터 λ‹¨μœ„λ₯Ό μ˜λ―Έν•œλ‹€.
  • CPU ꡬ쑰에 따라 길이가 닀름: 32λΉ„νŠΈ CPU -> μ›Œλ“œ= 32λΉ„νŠΈ = 4λ°”μ΄νŠΈ
  • 컴퓨터 μ—°μ‚°μ˜ κΈ°λ³Έ λ‹¨μœ„κ°€ λ˜λŠ” μ •λ³΄μ˜ 양을 μ˜λ―Έν•œλ‹€. 보톡 32λΉ„νŠΈ , 64λΉ„νŠΈ

βœ… 2. 진법

(1) 진법 μ΄λž€?

[ 진법 ]

  • 진법: 숫자λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 방법이닀. 즉, 숫자λ₯Ό ν‘œν˜„ν•˜λŠ” 체계λ₯Ό μ˜λ―Έν•œλ‹€.
  • μ‰½κ²Œλ§ν•΄, ν•œ 자리 μˆ«μžκ°€ κ°€μ§ˆ 수 μžˆλŠ” κ°’μ˜ 개수λ₯Ό κΈ°μ€€μœΌλ‘œ ν•˜λŠ” 수 체계λ₯Ό μ˜λ―Έν•œλ‹€.
  • 예λ₯Όλ“€λ©΄, μ‹­μ§„λ²•μ—μ„œλŠ” ν•œ 자리 μˆ«μžκ°€ 0~9κΉŒμ§€ 10개 값을 κ°€μ§ˆ 수 μžˆμœΌλ―€λ‘œ, 진법이 10이닀.
  • r 진법: 0, 1, ... , (r-1) κΉŒμ§€μ˜ μˆ«μžλ§Œμ„ μ‚¬μš©ν•˜λŠ” 진법을 r μ§„μˆ˜ λΌκ³ ν•¨. ( 2 진법 - 0, 1 / 8 진법 - 0 ~ 7 )
  • μ»΄ν“¨ν„°μ—μ„œλŠ” 2진법, μ‚¬λžŒμ΄ μ“°λŠ” μˆ˜λŠ” 보톡 10진법을 μ‚¬μš© ν•œλ‹€.

[ μ§„μˆ˜ ]

  • μ§„μˆ˜: μ§„λ²•μ˜ 숫자 체계λ₯Ό μ‚¬μš©ν•΄μ„œ μ‹€μ œλ‘œ μ“΄ 숫자λ₯Ό μ˜λ―Έν•œλ‹€. 즉, μ‹€μ œ Nμ§„λ²•μœΌλ‘œ ν‘œν˜„λœ μˆ«μžμ΄λ‹€.
  • μ‰½κ²Œλ§ν•΄, 진법은 0κ³Ό 1둜 λ‚˜νƒ€λ‚΄λŠ” 방법을 λ§ν•˜κ³ , μ§„μˆ˜λŠ” ν•΄λ‹Ή 방법을 ν†΅ν•΄μ„œ λ§Œλ“€μ–΄μ§€λŠ” 숫자λ₯Ό μ˜λ―Έν•œλ‹€.
  • 예λ₯Όλ“€λ©΄, 1010(2μ§„μˆ˜) / 1001(2μ§„μˆ˜) 이렇듯 체계λ₯Ό ν™œμš©ν•΄μ„œ λ§Œλ“€μ–΄μ§„ 숫자λ₯Ό μ˜λ―Έν•¨.
  • μ§„λ²•μ˜ 숫자 체둀λ₯Ό μ‚¬μš©ν•΄μ„œ μ‹€μ œλ‘œ μ“΄ 숫자λ₯Ό μ˜λ―Έν•œλ‹€.
  • 2μ§„μˆ˜ = binary, 8μ§„μˆ˜ = octal, 10μ§„μˆ˜ = decimal, 16μ§„μˆ˜ = hexadecimal 둜 뢈림.

(2) 2진법

[ 2μ§„μˆ˜ -> 10μ§„μˆ˜ ]

1011β‚‚ ( 2μ§„μˆ˜ -> 10μ§„μˆ˜ )
= 1×2³ + 0×2² + 1×2¹ + 1×2⁰
= 8 + 0 + 2 + 1 = 11₁₀
  • μ‚¬μš© 숫자: 0, 1
  • μš©λ„: 컴퓨터 λ‚΄λΆ€μ—μ„œλŠ” λͺ¨λ“  λ°μ΄ν„°λŠ” μ „κΈ° μ‹ ν˜Έ ON/OFFλ₯Ό 0κ³Ό 1둜 ν‘œν˜„ν•¨. 즉, 데이터 처리 ν•  λ•Œ μ‚¬μš©
  • 10μ§„μˆ˜ λ³€ν™˜ κ³Όμ •μ—μ„œλŠ” 1κ³Ό 0으둜 ν‘œν˜„λœ μˆ«μžμ— λͺ¨λ‘ 2λ₯Ό κ³±ν•˜λ©°, 각 μžλ¦Ώμˆ˜μ—λŠ” μžλ¦Ώμˆ˜μ— ν•΄λ‹Ήν•˜λŠ” μ§€μˆ˜λ₯Ό 올림.

 

(3) 8진법

[ 8μ§„μˆ˜ -> 10μ§„μˆ˜ ]

157β‚ˆ ( 8μ§„μˆ˜ -> 10μ§„μˆ˜ )
= 1×8² + 5×8¹ + 7×8⁰
= 64 + 40 + 7 = 111₁₀
  • μ‚¬μš© 숫자: 0 ~ 7
  • μš©λ„: κ³Όκ±° 컴퓨터 μ‹œμŠ€ν…œμ—μ„œ λ©”λͺ¨λ¦¬ μ£Όμ†Œ ν‘œν˜„, 일뢀 ν”„λ‘œκ·Έλž˜λ°μ—μ„œ κΆŒν•œ ν‘œν˜„ λ“±
  • 10μ§„μˆ˜ λ³€ν™˜ κ³Όμ •: 8μ§„μˆ˜ 각 μžλ¦Ώμˆ˜μ— 8을 κ³±ν•˜λ©°, ν•΄λ‹Ή 8μ—λŠ” 자릿수의 μ§€μˆ˜λ₯Ό μ˜¬λ €μ„œ 곱해야함.

(4) 10진법

345₁₀
= 3×10² + 4×10¹ + 5×10⁰
= 300 + 40 + 5
  • μ‚¬μš© 숫자: 0 ~ 9
  • μš©λ„: 일상 μƒν™œμ—μ„œ μ‚¬μš©ν•˜λŠ” 숫자 체계
  • μ˜ˆμ‹œμ²˜λŸΌ 일상 μƒν™œμ—μ„œ μ‚¬μš©ν•˜λŠ” 숫자 μ²΄κ³„μ΄λ―€λ‘œ, 각 μˆ«μžμ— 10을 κ³±ν•˜λŠ”λ° 자릿수λ₯Ό μ§€μˆ˜λ‘œ 올리면 κ·ΈλŒ€λ‘œμž„.

(5) 16진법

[ 16μ§„μˆ˜ -> 10μ§„μˆ˜ ]

1A3F₁₆ ( 16μ§„μˆ˜ -> 10μ§„μˆ˜ )
= 1×16³ + 10×16² + 3×16¹ + 15×16⁰
= 4096 + 2560 + 48 + 15 = 6719₁₀

 

  • μ‚¬μš© 숫자: 0~9, A~F ( A=10, B=11, ...., F= 15)
  • μš©λ„: 컴퓨터 λ©”λͺ¨λ¦¬ μ£Όμ†Œ, 컬러 μ½”λ“œ ,ν”„λ‘œκ·Έλž˜λ° 등에 μ‚¬μš©μ΄ 됨.
  • 0~9 κΉŒμ§€λŠ” 숫자둜 ν‘œν˜„μ„ ν•˜κ³  λ‚˜λ¨Έμ§€λŠ” 숫자λ₯Ό 문자둜 ν‘œν˜„μ„ 함.
  • μ§„λ²•μ˜ 각 μˆ«μžλŠ” μœ„μΉ˜μ— 따라 μ„œλ‘œ λ‹€λ₯Έ κ°€μ€‘μΉ˜(μžλ¦Ώκ°’) λ₯Ό κ°€μ§„λ‹€.
  • rμ§„λ²•μ˜ μžλ¦¬κ°’ r의 x승 (xλŠ” 숫자의 μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜)

(6) 10μ§„μˆ˜ μ •μˆ˜ -> rμ§„μˆ˜ λ³€ν™˜ 방법

  • 2μ§„μˆ˜: 10μ§„μˆ˜μ˜ 값을 2둜 λΆ„ν•΄ν•˜κ³  λ‚˜λ¨Έμ§€λ₯Ό 수둜 ν‘œν˜„ν•˜λ©΄ 됨. λ§ˆμ§€λ§‰ λ‚˜λ¨Έμ§€ 포함
  • 8μ§„μˆ˜: 10μ§„μˆ˜μ˜ 값을 8둜 λΆ„ν•΄ν•˜κ³  λ‚˜λ¨Έμ§€λ₯Ό 수둜 ν‘œν˜„ν•˜λ©΄ 됨.
  • 16μ§„μˆ˜: 10μ§„μˆ˜μ˜ 값을 16으둜 λΆ„ν•΄ν•˜κ³  λ‚˜λ¨Έμ§€λ₯Ό 수둜 ν‘œν˜„ν•˜λ©΄ 됨.

  • μ •μˆ˜λΆ€λΆ„μ„ rμ§„μˆ˜λ‘œ λ³€ν™˜ ν•  λ•Œ μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ³Ό 수 있음.

(7) 10μ§„μˆ˜ μ†Œμˆ˜ -> rμ§„μˆ˜ λ³€ν™˜ 방법

  • 10μ§„μˆ˜ μ†Œμˆ˜λ₯Ό rμ§„μˆ˜λ‘œ λ³€ν™˜ ν•  λ•Œ μ€‘μš”ν•œκ±΄, μ†Œμˆ˜ λΆ€λΆ„λ§Œ 두고 μ—°μ†ν•΄μ„œ 2λ₯Ό κ³±ν•˜λ©΄ λœλ‹€. λ˜ν•œ, 2λ₯Ό κ³±ν•œ κ²°κ³Όμ—μ„œ μ†Œμˆ˜ 뢀뢄이 μ•„λ‹Œ μ •μˆ˜ λΆ€λΆ„μ˜ 숫자λ₯Ό μ΄μ§„μˆ˜λ‘œ ν‘œκΈ° ν•  수 있음.
0.6875(10μ§„μˆ˜) -> 2μ§„μˆ˜ λ³€ν™˜
1️⃣ 0.6875 × 2 = 1.375 → μ •μˆ˜ λΆ€λΆ„ 1
2️⃣ 0.375 × 2 = 0.75 → μ •μˆ˜ λΆ€λΆ„ 0
3️⃣ 0.75 × 2 = 1.5 → μ •μˆ˜ λΆ€λΆ„ 1
4️⃣ 0.5 × 2 = 1.0 → μ •μˆ˜ λΆ€λΆ„ 1
0.6875(10) = 0.1011(2)
  • 즉, μœ„μ™€ 같이 0.6875(10μ§„μˆ˜)λ₯Ό 2μ§„μˆ˜λ‘œ λ³€ν™˜ ν•  λ•Œ, 2λ₯Ό κ³±ν•΄μ„œ μ •μˆ˜ 뢀뢄을 λΉΌ 결과값인 0.1011(2) λ₯Ό 얻을 수 있음.

  • κ·Έ μ™Έ 8μ§„μˆ˜μ™€ 16μ§„μˆ˜λ„ λ™μΌν•˜κ²Œ 각각 8κ³Ό 16을 κ³±ν•œ μ •μˆ˜κ°’μ„ rμ§„μˆ˜μ˜ κ°’μœΌλ‘œ ν‘œν˜„λ¨.

  • 10μ§„μˆ˜ μ†Œμˆ˜λ₯Ό rμ§„μˆ˜λ‘œ λ³€ν™˜μ„ ν•  땐 μœ„μ™€ 같은 μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 λ³€ν™˜ ν•  μˆ˜λ„ 있음.
  • κΈ°μ‘΄ μ •μˆ˜λ₯Ό rμ§„μˆ˜λ‘œ λ³€ν™˜ ν•  땐 rμ§„μˆ˜μ˜ r만큼 λ‚˜λˆ„λ©°, λͺ«μ„ 톡해 ν‘œν˜„ν–ˆλ‹€λ©΄, μ†Œμˆ˜λŠ” κ³±μ…ˆμœΌλ‘œ ν‘œν˜„ ν•˜κ²Œ 됨.
  • 10μ§„μˆ˜ μ†Œμˆ˜λΆ€λΆ„μ—λŠ” rμ§„μˆ˜μ˜ r만큼 κ³±ν•˜λ©°, ν•΄λ‹Ή μ •μˆ˜λΆ€λΆ„μ„ μ§„μˆ˜λ‘œ μ‚¬μš©ν•˜κ²Œ 됨.

  • λ˜ν•œ, μœ„μ™€ 같이 λ¬΄ν•œμ†Œμˆ˜λŠ” νŠΉμ • νŒ¨ν„΄μ΄ λ°˜λ³΅λ˜λŠ” λ¬΄ν•œμ†Œμˆ˜, 반볡 νŒ¨ν„΄ 없이 끝없이 μ΄μ–΄μ§€λŠ” 수(μ›μ£Όμœ¨)κ³Ό 같은 λΉ„μˆœν™˜ λ¬΄ν•œμ†Œμˆ˜κ°€ 쑴재 ν•  수 있음. μ΄λŸ¬ν•œ λ¬΄ν•œμ†Œμˆ˜λŠ” 컴퓨터 μžμ›μ΄ ν•œμ •μ μ΄λ‹€ λ³΄λ‹ˆ, μ‹€μ œλ‘œ μ •ν™•ν•œ 값을 ν‘œν˜„ν•˜κΈ°κ°€ 어렀움.
  • κ·Έλž˜μ„œ, μ»΄ν“¨ν„°μ—μ„œλŠ” λ¬΄ν•œν•œ μ†Œμˆ˜λ₯Ό νŠΉμ • λΆ€λΆ„μ—μ„œ λŠμ–΄λ‚΄μ„œ κ·Όμ‚¬μΉ˜κ°’μœΌλ‘œλ§Œ ν‘œν˜„μ„ ν•˜κ²Œ 됨.
false : 0.6 == 0.1001 ( 이건 λ‹€λ₯Έ μˆ«μžκ°€ λ˜λŠ” κ²ƒμž„. ) 
0.1001... λ¬΄ν•œμ†Œμˆ˜
  • μœ„μ™€ 같이 0.6 은 μ΄μ§„μˆ˜ ν‘œν˜„ -> 0.1001... 와 같이 λ¬΄ν•œμ†Œμˆ˜ μ΄λ―€λ‘œ, ν‘œν˜„μ΄ λΆˆκ°€λŠ₯함. 0.1001 둜 근사값을 ν‘œν˜„λ§Œ ν•˜κ²Œ 됨.
  • μœ„μ™€ 같이 0.6 == 0.1001 의 κ²°κ³ΌλŠ” false κ°€ λ‚˜μ˜΄. μ΄μœ λŠ” λ¬΄ν•œ μ†Œμˆ˜λΌ λ‹€λ₯΄λ‹€κ³  말함.
  • 이 처럼 0.6 은 μ΄μ§„μˆ˜λ‘œ ν‘œν˜„λ˜λŠ” 0.1001...와 같이 λ¬΄ν•œμ†Œμˆ˜ μ΄λ―€λ‘œ μ»΄ν“¨ν„°μ—μ„œ μ‹€μˆ˜λŠ” λͺ¨λ‘ 근사값을 κ°€μ§€κ³  있음.
  • 즉, μ–Όλ§ˆλ‚˜ λ©”λͺ¨λ¦¬λ₯Ό 더 μ¨μ„œ ν‘œν˜„μ„ ν•˜λŠλƒμ— 따라 μ‹€μˆ˜κ°€ 더 μ •ν™•ν•˜κ²Œ ν‘œν˜„μ΄ 됨.

(8) rμ§„μˆ˜ κ°„μ˜ λ³€ν™˜ 방법

  • 2μ§„μˆ˜ -> 8μ§„μˆ˜, 16μ§„μˆ˜ λ³€ν™˜: 2μ§„μˆ˜λ₯Ό 3κ°œμ”© λ¬Άμ–΄μ„œ ν•œ μžλ¦¬λ₯Ό ν‘œν˜„ν•˜λ©΄ 8μ§„μˆ˜κ°€ λ˜κ³ , 4κ°œμ”© λ¬Άμ–΄μ„œ ν•œ μžλ¦¬λ₯Ό ν‘œν˜„ν•˜λ©΄ 16μ§„μˆ˜κ°€ λœλ‹€.
  • 8μ§„μˆ˜ -> 2μ§„μˆ˜ λ³€ν™˜: λ°˜λŒ€λ‘œ 8μ§„μˆ˜ ν•œ 자리λ₯Ό λͺ¨λ‘ μ΄μ§„μˆ˜λ‘œ ν‘œν˜„ν•  수 있음.
  • 16μ§„μˆ˜ -> 2μ§„μˆ˜ λ³€ν™˜: λ§ˆμ°¬κ°€μ§€λ‘œ 16μ§„μˆ˜ ν•œ 자리λ₯Ό λͺ¨λ‘ μ΄μ§„μˆ˜λ‘œ ν‘œν˜„ ν•  수 있음.
  • μ˜ˆμ™Έμ μœΌλ‘œ, μœ„μ™€ 같이 3κ°œμ”© 4κ°œμ”© λ¬Άμ—ˆλŠ”λ° μˆ«μžκ°€ λΆ€μ‘±ν•˜λ©΄ 그것은 0으둜 ν‘œκΈ°ν•΄μ„œ λ³€ν™˜ ν•  수 있음.

βœ… 3. μ •μˆ˜ ν‘œν˜„

  • μ •μˆ˜ μžμ²΄λŠ” μ‹€μ œ μ„Έκ³„μ—μ„œ λ¬΄ν•œμ΄ ν‘œν˜„μ΄ κ°€λŠ₯함.
  • ν•˜μ§€λ§Œ, μ»΄ν“¨ν„°μ—μ„œλŠ” λ©”λͺ¨λ¦¬ 자체의 곡간이 μ œν•œμ΄ λ˜μ–΄ μžˆλ‹€λ³΄λ‹ˆκΉŒ, λ¬΄ν•œμ˜ 수λ₯Ό ν‘œν˜„ ν•  수 μ—†μŒ.
  • 즉, 컴퓨터에선 μ œν•œλœ λ©”λͺ¨λ¦¬ 곡간에 λ”°λΌμ„œ μ‹€μ œ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” μ •μˆ˜μ˜ λ²”μœ„κ°€ 결정이 됨.
  • μ»΄ν“¨ν„°μ—μ„œλŠ” μ •μˆ˜λ₯Ό λΆ€ν˜Έκ°€ μ—†λŠ” μ •μˆ˜μ™€ λΆ€ν˜Έκ°€ μžˆλŠ” μ •μˆ˜ λ‘ κ°€μ§€λ‘œ ν‘œν˜„을 ν•¨.

  • λΆ€ν˜Έ μ—†λŠ” μ •μˆ˜: λΆ€ν˜Έλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μ–‘μˆ˜λ§Œ ν‘œν˜„μ΄ κ°€λŠ₯ν•˜κ³  bit λ₯Ό ν•œ 자리 더 μ‚¬μš©ν•˜κΈ° 떄문에 λ²”μœ„μ¦κ°€
  • λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜: λΆ€ν˜Έ μžμ²΄κ°€ λΉ„νŠΈλ₯Ό μ°¨μ§€ν•˜κΈ° λ•Œλ¬Έμ—, 1byte(8bit) μ—μ„œ 1bit λ₯Ό μ°¨μ§€ν•˜κ²Œ λ˜μ–΄μ„œ ν‘œν˜„ν•˜λŠ” λ²”μœ„κ°€ 달라 질 수 있으며, λΆ€ν˜Έ μžμ²΄κ°€ 1bit λ₯Ό μ°¨μ§€ν•˜κΈ° λ•Œλ¬Έμ—, 1byte κ°€ ν‘œν˜„ν•˜λŠ” 숫자 크기가 μž‘μ•„μ§ˆ 수 밖에 μ—†κ²Œ 됨.
  • λ˜ν•œ, λΆ€ν˜Έκ°€ μžˆλŠ” μ •μˆ˜λŠ” μ΅œμƒμœ„ λΉ„νŠΈκ°€ λΆ€ν˜Έ λΉ„νŠΈκ°€ 되며, 0은 μ–‘μˆ˜ 1은 음수λ₯Ό ν‘œν˜„ν•¨.4

[ 보수 ]

  • μ–΄λ–€ 2μ§„μˆ˜μ˜ 각 λΉ„νŠΈ(0κ³Ό 1)λ₯Ό λ°˜μ „μ‹œν‚¨ 값을 μ˜λ―Έν•œλ‹€.
  • μ˜ˆμ‹œλ‘œλŠ” 2μ§„μˆ˜ 0101의 1의 λ³΄μˆ˜λŠ” 1010이며, 2의 λ³΄μˆ˜λŠ” 1의 λ³΄μˆ˜μ— 1을 λ”ν•œ 값이닀.
  • 2의 보수 μ˜ˆμ‹œλ‘œλŠ” 1의 보수 1010 + 1 = 1011 이닀.

(1) λΆ€ν˜Έ μ—†λŠ” μ •μˆ˜

  • λΆ€ν˜Έ μ—†λŠ” μ •μˆ˜: λΆ€ν˜Έλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μ–‘μˆ˜λ§Œ ν‘œν˜„μ΄ κ°€λŠ₯ν•˜κ³  bit λ₯Ό ν•œ 자리 더 μ‚¬μš©ν•˜κΈ° 떄문에 λ²”μœ„μ¦κ°€
  • λ˜ν•œ, 1 byte(8 bit) 할당을 ν•˜κ³  275λ₯Ό λ„£κ²Œ 되면 μ˜€λ²„ν”Œλ‘œκ°€ λ°œμƒν•  수 있음. ( ν• λ‹Ή 된 크기에 맞게 μ‚¬μš©ν•΄μ•Ό 함 )

(2) λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜

  • λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜: λΆ€ν˜Έ μžμ²΄κ°€ λΉ„νŠΈλ₯Ό μ°¨μ§€ν•˜κΈ° λ•Œλ¬Έμ—, 1byte(8bit) μ—μ„œ 1bit λ₯Ό μ°¨μ§€ν•˜κ²Œ λ˜μ–΄μ„œ ν‘œν˜„ν•˜λŠ” λ²”μœ„κ°€ 달라 질 수 있으며, λΆ€ν˜Έ μžμ²΄κ°€ 1bit λ₯Ό μ°¨μ§€ν•˜κΈ° λ•Œλ¬Έμ—, 1byte κ°€ ν‘œν˜„ν•˜λŠ” 숫자 크기가 μž‘μ•„μ§ˆ 수 밖에 μ—†κ²Œ 됨.
  • λ˜ν•œ, λΆ€ν˜Έκ°€ μžˆλŠ” μ •μˆ˜λŠ” μ΅œμƒμœ„ λΉ„νŠΈκ°€ λΆ€ν˜Έ λΉ„νŠΈκ°€ 되며, 0은 μ–‘μˆ˜ 1은 음수λ₯Ό ν‘œν˜„ν•¨.
  • λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜μ—μ„œ 음수λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄μ„œλŠ” λŒ€ν‘œμ μœΌλ‘œ λΆ€ν˜Έμ™€-크기, 1의 보수, 2의 보수 μ„Έ κ°€μ§€ 방식이 있음.

[ λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜ - 음수 ν‘œν˜„ : λΆ€ν˜Έν™”-크기 ]

  • μœ„μ˜ μ˜ˆμ‹œ: -124(01111100) 을 μ ˆλŒ€κ°’μœΌλ‘œ 맨 μ•ž λΉ„νŠΈ(MSB)μ—λŠ” λΆ€ν˜Έλ₯Ό 0(μ–‘μˆ˜) 1(음수) 둜 ν‘œν˜„μ„ 함.
  • 즉, -124(01111100) -> -124(111111100) 둜 λ°”λ€Œμ–΄μ„œ ν‘œν˜„μ΄ 되게 됨.

[ λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜ - 음수 ν‘œν˜„ : 1의 보수 ]

  • 1의 보수 ν‘œν˜„ 방식은 μ΄μ§„μˆ˜λ‘œ 된 λͺ¨λ“  bit 1은 0으둜 ν‘œν˜„ν•˜κ³ , λͺ¨λ“  bit 0은 1둜 ν‘œν˜„ν•˜λŠ” λ°©μ‹μž„.
  • 즉, μ–‘μˆ˜μ˜ λͺ¨λ“  λΉ„νŠΈλ₯Ό λ°˜μ „(0<>1) μ‹œμΌœμ„œ ν‘œν˜„ν•˜λŠ” 방식이라고 보면 됨.

[ λΆ€ν˜Έ μžˆλŠ” μ •μˆ˜ - 음수 ν‘œν˜„ : 2의 보수 ]

  • 2의 λ³΄μˆ˜λŠ” 1의 보수λ₯Ό κ΅¬ν•œ λ’€ ν•΄λ‹Ή 1의 λ³΄μˆ˜μ— +1 을 λ”ν•œ ν‘œν˜„ λ°©μ‹μž„.
  • 즉, μ–‘μˆ˜μ˜ λΉ„νŠΈλ₯Ό λ°˜μ „ μ‹œμΌœμ€€ 1의 λ³΄μˆ˜μ— +1 을 λ”ν•΄μ„œ 값을 κ΅¬ν•˜λŠ” λ°©μ‹μž„.
  • μ‹€μ œ μ»΄ν“¨ν„°λŠ” 2의 보수 방식을 μ‚¬μš©ν•¨. ν•΄λ‹Ή 방식은 λ§μ…ˆ 회둜둜 λΊ„μ…ˆκΉŒμ§€ 처리 ν•  수 있음.

(3) μ •μˆ˜ ν‘œν˜„ λ°©λ²•μ˜ 비ꡐ

  • 예λ₯Ό λ“€λ©΄, 2의 보수 λ°©μ‹μœΌλ‘œ 8λΉ„νŠΈλ‘œ ν‘œν˜„λœ μ •μˆ˜ 10100001 을 μ‹­μ§„μˆ˜λ‘œ κ΅¬ν•˜κ²Œ λœλ‹€λ©΄,
  • λ¨Όμ € 2의 보수 방식 +1 을 μ—­μ‚°ν•˜κ²Œ 되면 10100001 -> 10100000 이 되게 λœλ‹€.
  • 이후, 1의 보수 λ°©μ‹μ—μ„œ λ°˜μ „μ„ μ—­λ°˜μ „ μ‹œμΌœμ£Όλ©΄, 10100000 -> 01011111 이 되게 λœλ‹€.
  • 이후, 01011111 을 이제 μ‹­μ§„μˆ˜λ‘œ ν‘œν˜„ ν•  수 있으며, κ²°κ³ΌλŠ” -95κ°€ λ‚˜μ˜€κ²Œ λœλ‹€.

 

βœ… 4. μ‹€μˆ˜ ν‘œν˜„

 

βœ… 5. 문자 ν‘œν˜„

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ > πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[컴퓨터과학 개둠] 6κ°• - μ•Œκ³ λ¦¬μ¦˜(2)  (0) 2025.11.10
[컴퓨터과학 개둠] 5κ°• - μ•Œκ³ λ¦¬μ¦˜(1)  (0) 2025.11.10
[컴퓨터과학 개둠] 4κ°• - 자료ꡬ쑰(2)  (0) 2025.09.19
[컴퓨터과학 개둠] 3κ°• - 자료ꡬ쑰(1)  (0) 2025.09.17
[컴퓨터과학 개둠] 1κ°• - 컴퓨터와 자료(1)  (3) 2025.08.20
'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [컴퓨터과학 개둠] 5κ°• - μ•Œκ³ λ¦¬μ¦˜(1)
  • [컴퓨터과학 개둠] 4κ°• - 자료ꡬ쑰(2)
  • [컴퓨터과학 개둠] 3κ°• - 자료ꡬ쑰(1)
  • [컴퓨터과학 개둠] 1κ°• - 컴퓨터와 자료(1)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (195) N
      • πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ (51) N
        • βš™οΈμ»΄ν“¨ν„°μ˜ 이해 (11)
        • πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠 (15)
        • πŸ”’μžλ£Œκ΅¬μ‘° (13) N
        • πŸŒμœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ… (11)
        • πŸ–₯️컴퓨터과학과 (1)
      • πŸ› οΈBackend (68)
        • πŸ“šλ°±μ—”λ“œ 곡뢀 (4)
        • β˜•Java (23)
        • 🌳Spring (13)
        • βš™οΈC (12)
        • ⚑Python (13)
        • JavaScript (1)
        • πŸ›’οΈDatabase (0)
        • Algorithm Problem Solving (2)
      • 🌐 Network (7)
        • πŸ“œHTTP (7)
      • πŸš€DevOps (1)
      • β›ΊμŠ€νŒŒλ₯΄νƒ€μ½”λ”©ν΄λŸ½ (64)
      • 정보 (2)
      • 정리가 ν•„μš”ν•œ κΈ€ (2)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • GitHub
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    Java
    자료ꡬ쑰
    μœ λΉ„μΏΌν„°μŠ€
    λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅
    Python
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…κ°œλ‘ 
    λ°©ν†΅λŒ€
    spring
    컴퓨터과학 개둠
    C
    μ»΄ν“¨ν„°μ˜ 이해
    C μ–Έμ–΄
    Cμ–Έμ–΄
    μž…μΆœλ ₯
    μžλ°”
    λ°°μ—΄
    컴파일러
    ν•¨μˆ˜
    λ°©μ†‘λŒ€
    파이썬
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
junbin2
[컴퓨터과학 개둠] 2κ°• - 컴퓨터와 자료(2)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”