ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด์ ๋น๋ฐ์ง๋ ๋ฌธ์ ๋ฅผ ํ ๋ ์ด์ง์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ํจ์๋ฅผ ๋ง๋ค์ด ์ฃผ์๋ค.
function changeBinary(x, n) {
let tmpArr = [];
while (x) {
tmpArr.push(x % 2);
x = parseInt(x / 2);
}
while (tmpArr.length < n) tmpArr.push(0);
return tmpArr.reverse();
}
์ด๋ ๊ฒ ํด๋ ์ด์ง์ ๊ฐ์ ๊ตฌํ ์๋ ์์ง๋ง ์ด์ C์ธ์ด์์ ๋ฐฐ์ ๋ ๋นํธ ์ฐ์ฐ์๋ฅผ ํตํด์ ๋ ๊ฐ๋จํ๊ฒ ์ด์ง์ ๊ฐ์ ๊ตฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด ํฌ์คํ ํด๋ณด๊ณ ์ ํ๋ค.
&(AND ๋ ผ๋ฆฌ ์ฐ์ฐ์): ๋น๊ตํ๋ ๋นํธ๊ฐ ๋ชจ๋ 1์ด๋ฉด 1์ ๋ฐํ
let bit = 2 & 3;
console.log(bit) //2;
2 (0010)
3 (0011)
=> 0010(2) = 2(10)
|(OR ๋ ผ๋ฆฌ ์ฐ์ฐ์): ๋น๊ตํ๋ ๋นํธ ์ค์์ ํ๋๋ผ๋ 1์ด๋ฉด 1์ ๋ฐํ
let bit = 2 | 3;
console.log(b2) //3
2 (0010)
3 (0011)
=> 0011(2) = 3(10)
์ด์ ๋น๋ฐ์ง๋ ๋ฌธ์ ์์๋ ๋ ๊ฐ์ ์ง๋ ์ค ๋ฒฝ์ด ํ๋๋ผ๋ ์์ผ๋ฉด ๋ฌธ์์ด # ์ ์ถ๋ ฅํ๋ ์กฐ๊ฑด์ด ์์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด |(OR ๋ ผ๋ฆฌ ์ฐ์ฐ์)๋ฅผ ์จ์ ๊ฐ๋จํ๊ฒ ์กฐ๊ฑด์ ๋ง๋ ๋ ์ง๋์ ์์์ ๋ํ ์ด์ง์ ๊ฐ์ ๊ตฌํ ์ ์๋ค.
let secret = (arr1[i] | arr2[i]).toString(2);
'JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ ํจ๊ณผ_RequestAnimationFrame ๊ตฌํํด๋ณด๊ธฐ (0) | 2021.10.09 |
---|---|
์์์ ๋์ ์ธ ์์น๊ฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ์คํฌ๋กค์ด ์๋๋ ๋ฌธ์ _element.scrollintoView() (0) | 2021.09.07 |
๋ณ์ UI (0) | 2021.08.28 |
๋ฐฑ์ค node.JS ์ ์ถ๋ ฅ ๊ด๋ฆฌ (0) | 2021.08.22 |
rxjs tap operator๋ฅผ ํตํ side-effect (0) | 2021.08.03 |