본문 바로가기
Code/Javascript

비트로 상태관리하기.

by 띵커베르 2023. 2. 13.
728x90
const value = "0b" + "111";
const isEmail = (value & 0b100) !== 0;
const isSMS = (value & 0b010) !== 0;
const isPush = (value & 0b001) !== 0;

console.log(isEmail, isSMS, isPush)
let isEmail = false;
let isSMS = true;
let isPush = false;

let value = 0;

if (isEmail) {
  value |= 1 << 2; // 8의 자리수에 해당하는 비트를 1로 설정합니다. (1을 2번 왼쪽으로 이동)
}

if (isSMS) {
  value |= 1 << 1; // 4의 자리수에 해당하는 비트를 1로 설정합니다. (1을 1번 왼쪽으로 이동)
}

if (isPush) {
  value |= 1 << 0; // 2의 자리수에 해당하는 비트를 1로 설정합니다. (1을 0번 왼쪽으로 이동)
}

let bitStr = value.toString(2)
let paddedBitStr = bitStr.padStart(3, '0');
console.log("====")
console.log(paddedBitStr)
728x90

댓글