[CS] ์ง๋ฒ ๊ณ์ฐ ๋ฐฉ๋ฒ — 10์ง์ โ 2์ง์ ๋ณํ
2์ง๋ฒ์ ์ฌ์ฉํ๋ ์ด์
2์ง๋ฒ์ 0~1๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ ๊ธฐ ์ ํธ๋ก ์๋ํ๋ ๊ธฐ๊ณ์ธ ์ปดํจํฐ๋ 2์ง๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋๋ค.
์ ๊ธฐ์ ์ ํธ๋ก ์๋ฏธ๋ฅผ ์ ๋ฌํ ์ ์๋ ์ต์ ๋จ์๋ ON
, OFF
์ด๋ค. ์ ๊ธฐ ์ ํธ๊ฐ ์๋ ์ํ๋ฅผ 1
, ์๋ ์ํ๋ฅผ 0
์ผ๋ก ์ค์ ํ๋ค. ์ด๋ ๊ฒ ๋จ 2๊ฐ์ง ์ํ๋ง 2์ง์๋ก ํํํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ ํํ๊ธฐ ๋๋ฌธ์ด๋ค.
2์ง์๋ฅผ ์ฌ์ฉํ๋ฉด 0๊ณผ 1๋ก ๋จ์ํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ด ์๋๊ฐ ๋น ๋ฅด์ง๋ง ์์ ์ซ์๋ ๋งค์ฐ ๊ธธ์ด์ง๋ ๋จ์ ์ด ์๋ค. ๋ ๋ง์ ์ ํธ๋ฅผ ์ฌ์ฉํ ์๋ ์์ง๋ง, 2๊ฐ ์ด์์ ์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํํ ์ ํธ๋ฅผ ์ธก์ ํ๋๋ฐ ๋น์ฉ์ด ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ์ ํ์ฌ๊น์ง๋ 2์ง์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ.
๊ฐ ์ง๋ฒ์ ํน์ง
- 2์ง์ : Binary Number | ไบ่ฟๅถ (0~1๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ)
- 3์ง์ : Ternary Number | ไธ่ฟๅถ (0~2๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ)
- 8์ง์ : Octal Number | ๅ ซ่ฟๅถ (0~7๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ)
- 10์ง์ : Decimal Number | ๅ่ฟๅถ (0~9๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ)
- 16์ง์ : Hexadecimal | ๅๅ ญ่ฟๅถ (0~9์ ์ํ๋ฒณ A~F(10~15)๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ)
์ง๋ฒ ๋ณํ ๊ณต์
8์ง๋ฒ, 3์ง๋ฒ๋ ๋ชจ๋ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ณํํ ์ ์๋ค
10์ง๋ฒ์ 0~9๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค. 1024
๋ผ๋ ์ซ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ , ๊ฐ ์ซ์์ ๊ฐ์ค์น๋ฅผ ๋ฌ์(10โฐ ๊ฐ์ ๊ฒ) ๊ณ์ฐํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. ์ค๋ฅธ์ชฝ ์ซ์๋ถํฐ ๊ณ์ฐํ๋ค.
4 : 4 * 10โฐ = 4 (๋ชจ๋ ์์ 0์น์ 1์ด๋ค)
2 : 2 * 10¹ = 20
0 : 0 * 10² = 0
1 : 1 * 10³ = 1000
--------------------
4 + 20 + 0 + 1000 = 1024
10์ง์ 0~10๊น์ง์ 2์ง์๋ ์๋์ ๊ฐ๋ค(์ผ์ชฝ์ด 10์ง์ ์ค๋ฅธ์ชฝ์ด 2์ง์).
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
ํผ์ ์(Dividend)๊ฐ ์ ์(Divisor)๋ณด๋ค ์์์ ๋๋ ์ ์์ผ๋ฉด ๋ชซ์ ํญ์ 0์ด ๋๊ณ ํผ์ ์๊ฐ ๋๋จธ์ง๊ฐ ๋๋ค. ์๋ฅผ๋ค์ด 1 ÷ 2 ๊ณ์ฐ์์์ ํผ์ ์ 1์ด ์ ์ 2๋ณด๋ค ์์ผ๋ฏ๋ก ๋ชซ์ 0์ด๊ณ , ๋๋จธ์ง๋ 1์ด๋ค.
10์ง์ 11
์ 2์ง์๋ก ๋ณํํ ๋ ๋ชซ์ด 0์ด ๋ ๋๊น์ง ๊ณ์ 2๋ก ๋๋๋ค.
11 / 2 = 5(๋ชซ) | 1(๋๋จธ์ง)
5 / 2 = 2 | 1
2 / 2 = 1 | 0
1 / 2 = 0 | 1
-------------
1011 (์๋์ชฝ ์ซ์๋ถํฐ ์ถ๊ฐํ๋ค)
๋ฐ๋๋ก 2์ง์ 1011
์ 10์ง์๋ก ๋ณํํ ์์. ์ค๋ฅธ์ชฝ ์ซ์๋ถํฐ ๊ณ์ฐํ๋ค.
1 : 1 * 2โฐ = 1
1 : 1 * 2¹ = 2
0 : 0 * 2² = 0
1 : 1 * 2³ = 8
--------------
1 + 2 + 0 + 8 = 11
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ง๋ฒ ๋ณํ
Number ๊ฐ์ฒด์ toString()
๋ฉ์๋๋ก 10์ง์ ์ซ์๋ฅผ ๋ค๋ฅธ ์ง์๋ก ๋ณํํ๊ณ , Number.parseInt()
๋ฉ์๋๋ก ๋ค๋ฅธ ์ง์์ ์ซ์๋ฅผ 10์ง์๋ก ๋ณํํ ์ ์๋ค.
โถ 10์ง์ → ๋ค๋ฅธ ์ง์ ๋ณํ : toString()
์ฌ์ฉ
toString()
ํ๋ผ๋ฏธํฐ์ ๋ณํํ๊ณ ์ถ์ ์ง๋ฒ ์๋ฅผ ์
๋ ฅํ๋ค.
const decimalNum = 1024; // 10์ง์
const ternaryNum = decimalNum.toString(3); // '1101221' (10์ง์ 1024๋ฅผ 3์ง์๋ก ๋ณํ)
โท ๋ค๋ฅธ ์ง์ → 10์ง์ ๋ณํ : parseInt()
์ฌ์ฉ
parseInt()
์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ ๋ณํํ๋ ค๋ ์ซ์, ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ ํด๋น ์ซ์์ ์ง๋ฒ ์๋ฅผ ์
๋ ฅํ๋ค.
const ternaryNum = '1101221'; // 3์ง์
const decimalNum = Number.parseInt(ternaryNum, 3); // 1024 (3์ง์ 1101221์ 10์ง์๋ก ๋ณํ)
โธ ๋ฐ๋ณต๋ฌธ์ด๋ ๋ฐฐ์ด ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ง์ ๊ตฌํํ ์๋ ์๋ค.
// 10์ง์ > ๋ค๋ฅธ ์ง์ ๋ณํ
const convertToRadixNum = (num, radix) => {
const resultNum = [];
while (num !== 0) {
resultNum.unshift(num % radix);
num = Math.floor(num / radix);
}
return Number(resultNum.join(''));
};
convertToRadixNum(100, 2); // 1100100 (10์ง์ 100์ 2์ง์๋ก ๋ณํ)
// ๋ค๋ฅธ ์ง์ > 10์ง์ ๋ณํ
const convertToDecimalNum = (num, radix) => {
return [...String(num)] // ['1', '1', '0', ...]
.reverse()
.reduce((acc, v, i) => acc + v * radix ** i, 0);
};
convertToDecimalNum(1100100, 2); // 100 (2์ง์ 1100100์ 10์ง์๋ก ๋ณํ)
์ฐธ๊ณ ๋งํฌ
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ๋ฆฌ์กํธ ์์ ๋๋๊ทธ์ค๋๋กญ ๊ตฌํ (0) | 2024.04.28 |
---|---|
[Algorithm] ํน์ ์ ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ / ๋ฑ์ฐจ์์ด (๊ฐ์ฐ์ค ๊ณต์) (0) | 2024.04.28 |
[React] ๋ฆฌ์กํธ ๋ง์ฐ์ค ๋๋๊ทธ ๊ฐ๋ฅํ ์์ ๋ง๋ค๊ธฐ / ๊ธฐํ ํ๋กํผํฐ (0) | 2024.04.27 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ URL ๊ฐ์ฒด / searchParams (0) | 2024.04.27 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ Map / Set ์๋ฃ๊ตฌ์กฐ (0) | 2024.04.27 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[React] ๋ฆฌ์กํธ ์์ ๋๋๊ทธ์ค๋๋กญ ๊ตฌํ
[React] ๋ฆฌ์กํธ ์์ ๋๋๊ทธ์ค๋๋กญ ๊ตฌํ
2024.04.28 -
[Algorithm] ํน์ ์ ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ / ๋ฑ์ฐจ์์ด (๊ฐ์ฐ์ค ๊ณต์)
[Algorithm] ํน์ ์ ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ / ๋ฑ์ฐจ์์ด (๊ฐ์ฐ์ค ๊ณต์)
2024.04.28 -
[React] ๋ฆฌ์กํธ ๋ง์ฐ์ค ๋๋๊ทธ ๊ฐ๋ฅํ ์์ ๋ง๋ค๊ธฐ / ๊ธฐํ ํ๋กํผํฐ
[React] ๋ฆฌ์กํธ ๋ง์ฐ์ค ๋๋๊ทธ ๊ฐ๋ฅํ ์์ ๋ง๋ค๊ธฐ / ๊ธฐํ ํ๋กํผํฐ
2024.04.27 -
[JS] ์๋ฐ์คํฌ๋ฆฝํธ URL ๊ฐ์ฒด / searchParams
[JS] ์๋ฐ์คํฌ๋ฆฝํธ URL ๊ฐ์ฒด / searchParams
2024.04.27