πŸ“κ°œλ°œ 일지 (2)

우민·2023λ…„ 7μ›” 20일
0

개발 일지

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

μ‹œμž‘μ΄ λ°˜μ΄λ‹€.
οΌ‚Well begun is half doneοΌ‚
- μ•„λ¦¬μŠ€ν† ν…”λ ˆμŠ€

μ‚¬λžŒλ“€μ€ μ΅μˆ™ν•˜μ§€ μ•Šμ€ 것에 λŒ€ν•˜μ—¬ ꡉμž₯히 λΆˆμ•ˆν•΄ν•œλ‹€.
κ·Έλž˜μ„œ μƒˆλ‘œμš΄ μ‹œλ„μ™€ 도전을 ν•˜μ§€ μ•ŠμœΌλ €κ³  ν•œλ‹€.

πŸ“Œ Day - 2

1. Data Type ( μžλ£Œν˜• )

int i = 0;
// int : μžλ£Œν˜•
// i  : λ³€μˆ˜
// 0 : λ³€μˆ˜κ°’ 
  • μžλ£Œν˜• κ·Έ μžμ²΄λ‘œλŠ” μ–΄λ– ν•œ 값도 μ§€λ‹ˆμ§€ μ•ŠμŒ
  • μžλ£Œν˜•μ€ λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 크기와 ν˜•νƒœλ₯Ό λ‚˜νƒœλƒ„
  • λ³€μˆ˜λŠ” λ©”λͺ¨λ¦¬ 곡간에 이름을 λΆ€μ—¬ν•œ 것

2. μ’…λ₯˜( Byte )

  • μ •μˆ˜ν˜• : char(1), short(2), int(4), long(4), long long(8)
  • μ‹€μˆ˜ν˜• : float(4), double(8)
// μ •μˆ˜ν˜• (1Byte μ–‘μˆ˜ ν‘œν˜„)
unsigned char c = 0;  

c = 0;
c = 255;



// μ •μˆ˜ν˜• (1Byte μ–‘μŒμˆ˜ ν‘œν˜„)
char c = 0; | signed char c = 0;

c = -128;
c = 127;
  • unsigned char ν˜•μ˜ κΈ°μ€€μœΌλ‘œ 255의 값을 λ„˜μ„ 수 μ—†μŒ ( c β‰  256; )


[ MSB / LSB ]

μ΅œμƒμœ„ λΉ„νŠΈ ( Most Significant Bit )

  • unsigned char 데이터 ν˜•μ—μ„œ MSB 값은 κ°€μž₯ 큰 κ°’μ˜ μœ„μΉ˜μ— μžˆλŠ” μ΅œμƒμœ„ λΉ„νŠΈλ‘œ 2^7에 ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜μ΄ μžˆλŠ” λΉ„νŠΈ

  • signed char 데이터 ν˜•μ—μ„œ MSB에 μœ„μΉ˜κ°€ λΆ€ν˜Έλ₯Ό λ‚˜νƒ€λƒ„

μ΅œμ†Œ 유효 λΉ„νŠΈ ( Least Significant Bit )

  • unsigned char 데이터 ν˜•μ—μ„œ LSB 값은 κ°€μž₯ μž‘μ€ κ°’μ˜ μœ„μΉ˜μ— μžˆλŠ” μ΅œμ†Œ 유효 λΉ„νŠΈλ‘œ 2^0에 ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜μ΄ μžˆλŠ” λΉ„νŠΈ

  • signed char 데이터 ν˜•μ—μ„œ LSB에 μœ„μΉ˜κ°€ μ§μˆ˜μ™€ μ–‘μˆ˜λ₯Ό λ‚˜νƒ€λƒ„

01
MSBμ–‘μˆ˜μŒμˆ˜
LSB짝수음수

[ μ΄μ§„μˆ˜ μ—°μ‚° ]

// λ§μ…ˆ
[0,0,0,0,0,0,0,1] + [0,0,0,0,0,0,0,1] = [0,0,0,0,0,0,1,0]
        1         +         1         =         2

// λΊ„μ…ˆ
[0,0,0,0,0,0,0,1] + [1,1,1,1,1,1,1,1] = [0,0,0,0,0,0,0,0]
        1         +       (-1)        =         0     


// signed char 데이터 ν˜• 
[1,1,1,1,1,1,1,1] = -1


// unsigned char 데이터 ν˜•
[1,1,1,1,1,1,1,1] = 255



--------------------- signed, unsigned char 데이터 ν˜• ----------------------

c = 255; | c = -1; κ°’ λͺ¨λ‘ 
[1,1,1,1,1,1,1,1]둜 동일함

[ 음의 μ •μˆ˜ μ°ΎκΈ° ]

- 2의 λ³΄μˆ˜λ²• ( Two's complement )

  • λŒ€μ‘λ˜λŠ” μ–‘μˆ˜μ˜ λΆ€ν˜Έλ₯Ό λ°˜μ „ ν›„, 1을 더함

πŸ’¬ COMMENT

λ³΄μ‹œλŠ” 뢄이 λ§Žμ§€λŠ” μ•Šκ² μ§€λ§Œ ν˜Ήμ‹œ 잘λͺ»λœ 정보가 있으면 μ•Œλ €μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

profile
ν•™μŠ΅ν•˜λŠ” 쀑

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 7μ›” 20일

μž˜λ΄€μŠ΅λ‹ˆλ‹€.

λ‹΅κΈ€ 달기