μ΄νƒœν™
홍'story
μ΄νƒœν™
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (171)
    • TW (39)
    • AI (47)
      • μžμ—°μ–΄ 처리 (10)
      • Kaggle (2)
      • Machine Learning (26)
      • Computer Vision (0)
      • Deep Learning (0)
      • ROS2 (7)
    • Computer Science (29)
      • Data Structure (0)
      • Algorithm (18)
      • Computer Architecture (5)
      • SOLID (0)
      • System Programing (6)
    • LOLPAGO (10)
      • ν”„λ‘ νŠΈμ—”λ“œ (10)
      • λ°±μ—”λ“œ (0)
    • BAEKJOON (2)
    • React (5)
    • μ–Έμ–΄ (8)
      • C++ (8)
    • GIT (0)
    • MOGAKCO (19)
    • λ―Έκ΅­ μ—¬ν–‰κΈ° (3)
    • etc. (7)
      • Blog (2)
      • μ½œλΌν†€ (2)

λΈ”λ‘œκ·Έ 메뉴

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

곡지사항

인기 κΈ€

νƒœκ·Έ

  • computer architecture
  • kaggle
  • computerscience
  • Ai
  • λ¨Έμ‹ λŸ¬λ‹
  • κ²½μ‚¬ν•˜κ°•λ²•
  • NLP
  • ROS2
  • λ”₯λŸ¬λ‹
  • pytorch
  • algorithm
  • λ°±μ€€
  • μ•Œκ³ λ¦¬μ¦˜
  • baekjoon
  • react
  • C++
  • LOLPAGO
  • tw
  • κΈ°κ³„ν•™μŠ΅
  • ML

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
μ΄νƒœν™

홍'story

[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ •μˆ˜μ˜ ν‘œν˜„ 방법
Computer Science/System Programing

[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ •μˆ˜μ˜ ν‘œν˜„ 방법

2022. 9. 24. 03:23

πŸ€” μ •μˆ˜μ˜ ν‘œν˜„ 방법

μ»΄ν“¨ν„°μ—μ„œλŠ” μ •μˆ˜λ₯Ό μ–΄λ–€ λ°©λ²•μœΌλ‘œ ν‘œν˜„ν•˜λŠ”μ§€ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

크게 λΆ€ν˜Έκ°€ μ—†λŠ” μ •μˆ˜, BCDμ½”λ“œ, λΆ€ν˜Έλ₯Ό κ°–λŠ” μ •μˆ˜λ₯Ό 주둜 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

κ²°λ‘ λΆ€ν„° λ§ν•˜μžλ©΄ μ»΄ν“¨ν„°λŠ” 2의 보수λ₯Ό 톡해 λΆ€ν˜Έν˜• μ •μˆ˜λ₯Ό ν‘œμ‹œν•˜κΈ°λ‘œ μ •ν–ˆμŠ΅λ‹ˆλ‹€.

 

λΉ„λΆ€ν˜Έν˜• μˆ˜μ—μ„œ 2의 λ³΄μˆ˜ν˜• μ •μˆ˜λ‘œ λ³€ν™˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

 

μ‰½κ²Œλ§ν•΄ λΉ„νŠΈλ₯Ό λͺ¨λ‘ λ’€μ§‘κ³  1을 λ”ν•˜λ©΄ λ©λ‹ˆλ‹€.

 

μ•„λž˜μ—μ„œ 쑰금 더 μžμ„Έν•˜κ²Œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

 

 

 

 

 

 

 

 

 

 

 

 

πŸ”Ž μ •μˆ˜μ˜ 인코딩

λΉ„λΆ€ν˜Έν˜• μ •μˆ˜μ™€ λΆ€ν˜Έν˜• μ •μˆ˜λŠ” κ°„λ‹¨ν•˜κ²Œ μˆ˜μ‹μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λΉ„λΆ€ν˜Έν˜• μ •μˆ˜λŠ” $B2U(X)$라고도 ν•˜λŠ”λ° μ•„λž˜μ™€ 같이 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

λΆ€ν˜Έν˜• μ •μˆ˜(2의 보수)λŠ” μ•„λž˜μ™€ 같이 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

이λ₯Ό 톡해 길이가 WλΉ„νŠΈμΈ μ •μˆ˜μ˜ ν‘œν˜„ κ°€λŠ₯ν•œ λ²”μœ„λ₯Ό μΆ”μΈ‘ν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λΉ„λΆ€ν˜Έν˜• μ •μˆ˜μ˜ 경우 μ΅œμ†Œκ°’μ€ $0$ μ΅œλŒ€κ°’μ€ $2^w - 1$μž…λ‹ˆλ‹€.

 

λΆ€ν˜Έν˜• μ •μˆ˜ 즉 2의 보수둜 ν‘œν˜„ν•œ μ •μˆ˜λŠ” μ΅œμ†Œκ°’μ€ $-2^{w-1}$ μ΅œλŒ€κ°’μ€ $2^{w-1} - 1$μž…λ‹ˆλ‹€

 

μ•„λž˜μ˜ ν‘œλ₯Ό 톡해 이해λ₯Ό λ„μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

πŸ”Ž 데이터 νƒ€μž…λ³€ν™˜ μΊμŠ€νŒ…

C μ–Έμ–΄μ—μ„œλŠ” λΆ€ν˜Έν˜• μ •μˆ˜λ‘œλΆ€ν„° λΉ„λΆ€ν˜Έν˜• μ •μˆ˜λ‘œμ˜ λ³€ν™˜μ„ ν—ˆμš©ν•©λ‹ˆλ‹€.

 

μ΄λ•Œ λΉ„νŠΈ ν‘œν˜„μ—λŠ” λ³€ν™”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

 

ν•˜μ§€λ§Œ λΆ€ν˜Έν˜• μ •μˆ˜ 쀑 μŒμˆ˜λŠ” λΉ„λΆ€ν˜Έν˜• μ •μˆ˜λ‘œ λ³€ν™˜ν–ˆμ„λ•Œ μ–‘μˆ˜λ‘œ λ³€ν™˜λ˜κΈ° λ•Œλ¬Έμ— 큰 였λ₯˜λ₯Ό μ•ΌκΈ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

예λ₯Ό λ“€μ–΄ μ•„λž˜μ˜ μ½”λ“œμ—μ„œ $y = -15213$μ΄μ§€λ§Œ λΉ„λΆ€ν˜Έν˜• μ •μˆ˜λ‘œ λ³€ν™˜ν–ˆμ„λ•Œ 50323μ΄λΌλŠ” μ—„μ²­λ‚œ 차이의 값을 좜λ ₯ν•©λ‹ˆλ‹€.

 

short int x = 15213;
unsinged short int ux = (unsigned short) x;
short int y = -15213;
unsinged short int uy = (unsinged short) y;

 

μ΄λŸ¬ν•œ κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” 였λ₯˜λ₯Ό μΊμŠ€νŒ… 좩격이라고 ν•©λ‹ˆλ‹€.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

πŸ”Ž μ •μˆ˜μ˜ μ—°μ‚°

λΉ„λΆ€ν˜Έν˜• μ—°μ‚°

λΉ„λΆ€ν˜Έν˜•μ˜ λ§μ…ˆμ˜ 경우 일반적인 λ§μ…ˆ μ—°μ‚°κ³Ό λ™μΌν•©λ‹ˆλ‹€.

 

길이가 W λΉ„νŠΈμΈ μ •μˆ˜μ˜ 계산이라고 κ°€μ •ν–ˆμ„ λ•Œ, μ΅œμƒμœ„ λΉ„νŠΈλ₯Ό λ„˜μ–΄κ°€λŠ” 즉 $u + v$의 값이 $2^w - 1$ 보닀 크면 Carryκ°€ λ°œμƒν•˜κ³  이 경우 Carryλ₯Ό λ¬΄μ‹œν•©λ‹ˆλ‹€.

 

mod ν•¨μˆ˜ $S = UAdd_w(u, v) = (u + v) mod 2^w$둜 ν‘œμ‹œ κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

 

 

 

 

λΆ€ν˜Έν˜• μ—°μ‚°

λΉ„λΆ€ν˜•μ—μ„œμ˜ λ§μ…ˆκ³Ό λ™μΌν•˜κ²Œ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

 

 

 

λΉ„λΆ€ν˜Έν˜• μ—°μ‚°κ³Ό 달리 λΆ€ν˜Έν˜• μ—°μ‚°μ—μ„œλŠ” 두 κ°€μ§€ λ°©ν–₯으둜 overflowκ°€ λ°œμƒκ°€λŠ₯ν•œλ°

 

μ΄λŠ”

 

 

$$u, v < 0, s ≥0$$

λ˜λŠ”

$$u, v ≥ 0, s < 0$$

μΌλ•Œ λ°œμƒν•©λ‹ˆλ‹€.

 

 

 

'Computer Science > System Programing' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] BombLab μ‹€μŠ΅ λ©”λͺ¨μž₯  (2) 2022.10.19
[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ‹€μˆ˜μ˜ ν‘œν˜„ 및 처리  (0) 2022.09.26
[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ •μˆ˜μ˜ ν‘œν˜„  (0) 2022.09.24
[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] 컴퓨터 μ‹œμŠ€ν…œ(컴퓨터 ꡬ쑰)  (0) 2022.09.20
[μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] 컴퓨터 μ‹œμŠ€ν…œ(컴파일 μ‹œμŠ€ν…œ)  (0) 2022.09.20
    'Computer Science/System Programing' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] BombLab μ‹€μŠ΅ λ©”λͺ¨μž₯
    • [μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ‹€μˆ˜μ˜ ν‘œν˜„ 및 처리
    • [μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] μ •μˆ˜μ˜ ν‘œν˜„
    • [μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°] 컴퓨터 μ‹œμŠ€ν…œ(컴퓨터 ꡬ쑰)
    μ΄νƒœν™
    μ΄νƒœν™
    κ³΅λΆ€ν•˜μž νƒœν™μ•„

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