๐ก ์ปดํจํฐ๊ฐ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ ธ์๋ค๋ ๊ฒ์ ์๊ณ ๋ ์์์ผ๋ ์ํฌ์์๋ค๊ฐ ์ปด๊ณต๊ณผ๋ ์๋์ด์ ๋ถ๋๋ฝ์ง๋ง 2์ง์๊ฐ ์์ง๋ ์กฐ๊ธ ์ด๋ ค์ ์๋ค. ๊ฒ๋ค๊ฐ 2์ง์๋ก -๋ฅผ ํํํ๋ ๋ฒ?์ ์๊ฐ๋ ๋ชปํด๋ด์ ์ ๋ง ๊ตฌ๋ชฌ์ํ์ ๋ค์ ํ์ด์ผํ๋….(๋จผ ์ฐ..)
์ปดํจํฐ์ ๋ฐ์ดํฐ ๋จ์
์ผ๋จ ์ปดํจํฐ์ ๋ฐ์ดํฐ ๋จ์๋ถํฐ ์์๋ณด๋๋ก ํ์
1Bit0 or 1
1Byte | 8bit |
1KB | 1,024Byte |
1MB | 1,024KB |
1GB | 1,024MB |
1TB | 1,024GB |
์ปดํจํฐ์์ ์๋ฏธ์๋ ์ ๋ณด ํ๋๋ฅผ ํํํ๋ ์ต์๋จ์๊ฐ Byte๋ถํฐ๋ผ๊ณ ํ๋ค. ๊ทธ๋์ ๊ตฌ๊ธ๋งํด๋ณธ ์์ ์์ ๋๋ฌด๋ ๋น์ฐ์๋ฆฌ 00000000๋ก ์์ ๋ฅผ ๋ณด์ฌ์ฃผ์ด์ ์์ธ์ง ๊ถ๊ธ์ฆ์ด ๊ณ์ ์๊ฒผ์๋ค. ์๊ณ ๋ณด๋ ๊ทธ๋ฌ๋ ๊ฒ…
๊ธฐ๋ณธ ์๋ฃํ์ ์ข ๋ฅ
๋ ผ๋ฆฌํboolean1Byte
๋ฌธ์ํ | char | 2Byte |
์ ์ํ | byte | 1Byte |
์ ์ํ | short | 2Byte |
์ ์ํ | int | 4Byte |
์ ์ํ | long | 8Byte |
์ค์ํ | float | 4Byte |
์ค์ํ | double | 8Byte |
๋ค๋ฅธ ๋ธ๋ก๊ทธ์์ intํ์ ‘๋ค ๊ฐ’๊ฐ ํ์ํ๋ค๊ณ ์จ๋๊ณ ์์ ๋ 00000000๋ก ํด๋์ด์ ํท๊ฐ๋ฆผ์ด ๋ง์๋ค.
์์ ์๋ฃํ์ Byte๋ฅผ ๋ณด๋ฉด int ํ์ ๊ทธ ‘๋ค ๊ฐ’๋ Byte์ ๋ค ๊ฐ๋ ๋ป์ผ๋ก Bit๋ก ๋ณํํ๋ฉด 32๊ฐ์ Bit๊ฐ ํ์ํ๋ค.
์ ์ ํํ ๋ฐฉ์
๋ถํธ๋นํธ๋ฐฉ์
์ต์์ ๋นํธ(Most Significant Bit)๋ฅผ ๋ถํธ ํ๊ธฐ๋ฅผ ์ํด ๋จ๊ฒจ๋๋ ๋ฐฉ์์ด๋ค.
์๋ฅผ ๋ค์ด 8๋นํธ์ ์๋ฃ์ ๊ฒฝ์ฐ์๋
- ์์00000001
๋ถํธ 64 32 16 8 4 2 1 - ์์10000001
๋ถํธ 64 32 16 8 4 2 1
์ด๋ ๊ฒ ๋ถํธ ํ๊ธฐ๋ก ์์์ ์์๋ฅผ ํ๊ธฐํ๋ค.
ํ์ง๋ง ์ด๋ +0๊ณผ -0์ด๋ผ๊ณ 0์ด ๋ ๊ฐ ์กด์ฌํ๋ ๋ฌธ์ ๊ฐ ์๊ณ , ์์์ ์์๊ฐ์ ์ฐ์ฐ์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ด ์ค์(float, double)๋ฐฉ์์ ํํ์๋ง ์ฐ์ธ๋ค.
1์ ๋ณด์
1์ ๋ณด์๋ ์ด๋ค 2์ง์์ ๊ฐ ์๋ฆฌ์์ ๊ฐ์ด 1์ธ ์์ ๋นผ๋ฉด 1์ ๋ณด์๋ฅผ ์ป์ ์ ์๋ค.
์ค์ง์ ์ธ ๋ฐ์ดํฐ ๊ฐ์ 8๋นํธ ์ค์ 7๋นํธ๋ง ์ฌ์ฉํ๋ค.
์๋ฅผ๋ค์ด
00000011
- | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
= | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
๋บ์ ์ ํ๋ฉด ์์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ด์ ๊ฒฝ์ฐ์๋ +0๊ณผ -0๊ฐ ๋ ๊ฐ ์กด์ฌํ๋ค.
1์ ๋ณด์ ๋บ์
๐ก ํด.. ์ดํดํ๋๋ผ ์ ๋ง ํ๋ค์๋ค.
- ๋นผ๋ ์์ 1์ ๋ณด์๋ฅผ ๊ตฌํ๋ค์ ๋ํฉ๋๋ค.
- ๋ง์ ๊ฒฐ๊ณผ์ ์๋ฆฌ์ฌ๋ฆผ์ด ์๊ฒผ๋ค๋ฉด ์ตํ์ ๋นํธ์ 1์ ๋ํ๊ณ ์๋ฆฌ์ฌ๋ฆผ๋ ๊ฒ์ ์ ์ธํฉ๋๋ค.
- ๋ง์ ๊ฒฐ๊ณผ์ ์๋ฆฌ์ฌ๋ฆผ์ด ์๊ธฐ์ง ์์๋ค๋ฉด ์ฐ์ฐ ๊ฒฐ๊ณผ์ ๋ํด 1์ ๋ณด์๋ฅผ ๊ตฌํ ํ -๋ถํธ๋ฅผ ๋ถ์ ๋๋ค.
- ์์ 1
2์ง์ 1101 - 1001์ ๋นผ๋ณด๋ ค๊ณ ํ๋ค.
110113
- | 1 | 0 | 0 | 1 | 9 |
1001์ 1์ ๋ณด์๋ฅผ ๊ตฌํ๊ณ ๋ํ๋ค.
110113
+ | 0 | 1 | 1 | 0 | 6 | |
= | 1 | 0 | 0 | 1 | 1 | 19 |
์ต์์ ๋นํธ 1์ ์ ์ธํ๊ณ ์ตํ์ ๋นํธ์ 1์ ๋ํ๋ค.
01004
- ์์ 2
2์ง์ 0101 - 1001์ ๋นผ๋ณด๋ ค๊ณ ํ๋ค.
01015
- | 1 | 0 | 0 | 1 | 9 |
1001์ 1์ ๋ณด์๋ฅผ ๊ตฌํ๊ณ ๋ํ๋ค.
01015
+ | 0 | 1 | 1 | 0 | 6 |
= | 1 | 0 | 1 | 1 | 11 |
์ฐ์ฐ๊ฒฐ๊ณผ์ 1์ ๋ณด์๋ฅผ ๊ตฌํ๋ค.
01004
๊ทธ๋ฆฌ๊ณ -๋ฅผ ๋ถ์ธ๋ค.
-0100-4
2์ ๋ณด์
2์ ๋ณด์๋ 1์ ๋ณด์์ 1์ ๋ํ ๊ฐ๊ณผ ๊ฐ๋ค.
2์ ๋ณด์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด
00000011
์์ 1์ ๋ณด์๋ฅผ ๊ตฌํ๋ค.
10000011
๊ทธ ๋ค์ 1์ ๋ํ๋ฉด
10000100
์ด ๋๋ค.
ํ์ ๋ค์ ๋บ์ ์ ํด๋ณด๋ฉด
00000011
- | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
= | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
์ผ๋ก ์ฌ๋ฆผ์๊ฐ ๋ฐ์ํ๋ฉด ๋ฌด์ํ๊ณ 0์ผ๋ก ํํํ๋ค.
2์ ๋ณด์ ๋บ์
- ๋นผ๋ ์์ 2์ ๋ณด์๋ฅผ ๊ตฌํ๊ณ ๋ํ๋ค.
- ์ต์์ ๋นํธ ์๋ฆฌ์ฌ๋ฆผ์ด ์๊ฒผ๋ค๋ฉด ์๋ฆฌ์ฌ๋ฆผ์ ์ ์ธํ ๋๋จธ์ง ๋ถ๋ถ์ด ์ฐ์ฐ๊ฒฐ๊ณผ์ด๋ค.
- ์ต์์ ๋นํธ ์๋ฆฌ์ฌ๋ฆผ์ด ๋ฐ์๋์ง ์์๋ค๋ฉด ์ฐ์ฐ ๊ฒฐ๊ณผ์ 2์ ๋ณด์๋ฅผ ๊ตฌํ ํ -๋ถํธ๋ฅผ ๋ถ์ธ๋ค.
- ์์ 1
2์ง์ 1101 - 1001์ ๋นผ๋ณด๋ ค๊ณ ํ๋ค.
110113
- | 1 | 0 | 0 | 1 | 9 |
1001์ 2์ ๋ณด์ 0111๋ฅผ ๊ตฌํ ๋ค ๋ํ๋ค.
110113
+ | 0 | 1 | 1 | 1 | 7 | |
= | 1 | 0 | 1 | 0 | 0 | 20 |
์ต์์ ๋นํธ 1์ ์ ์ธํ๋ค.
01004
- ์์ 2
2์ง์ 0101 - 1001์ ๋นผ๋ณด๋ ค๊ณ ํ๋ค.
01015
- | 1 | 0 | 0 | 1 | 9 |
1001์ 2์ ๋ณด์ 0111๋ฅผ ๊ตฌํ๊ณ ๋ํ๋ค.
01015
+ | 0 | 1 | 1 | 1 | 7 |
= | 1 | 1 | 0 | 0 | 12 |
์ฐ์ฐ๊ฒฐ๊ณผ์ 2์ ๋ณด์๋ฅผ ๊ตฌํ๋ค. (1์๋ณด์ + 1)
00113
0 | 1 | 0 | 0 | 4 |
๊ทธ๋ฆฌ๊ณ -๋ฅผ ๋ถ์ธ๋ค.
-0100-4
1์๋ณด์ 2์๋ณด์์ ๋ํ ์ ๋ฆฌ
์ดํดํ๋๋ฐ ์ ๋ง ๋์์ด ๋ง์ด ๋์๋ค.
๋ง์น๋ฉฐ..
์์ง๋ ๋นํธ์ฐ์ฐ์ ๋๋ฌด ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค..
๊ฐ์์ ๋์ค์ง ์์๋ ๋บ์ ๊น์ง ์ฐพ์๋ณด๋ ๋ ๋จธ๋ฆฌ๊ฐ ๋ณต์กํ์ง๋ง ํจ์ฌ ์ดํด๊ฐ ์ ๋ ๊ฒ ๊ฐ๋ค.
์ฐธ๊ณ ํ ์๋ฃ๋ค
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํฌ์ธํฐ ๋ณ์๋? (2) | 2023.01.04 |
---|---|
๋ณ์์ ์ข ๋ฅ (0) | 2023.01.04 |
๋๋์ฒด TypeScript๊ฐ ๋ญ๊น? (0) | 2023.01.04 |
async, await, Promise ๊ทธ๋ฆฌ๊ณ ๋๊ธฐ์ ๋น๋๊ธฐ (2) | 2023.01.04 |
node ๋ฒ์ ์ ๋ฐ์ดํธ ํ๊ธฐ (0) | 2023.01.04 |