js 이진수 앞에 0넣기

방법1 ; substr

1
2
3
4
let N = 7;
let padding = '00000000';

let result = (padding + N.toString(2)).substr(-padding.length);

“00000111”

  • 2진수, 16진수 등 표현할 때 앞에 0을 추가해서 보여주고싶을 때가 있다
  • 8자리로 표현하고싶으면, padding 변수에 0으로 8자리를 채운다
  • padding 과 이진수를 더하고 substr로 뒤에서부터 8자리만큼 잘라주면된다

방법2 ; padStart

1
2
3
4
let N = 7;
let padding = '00000000';

let result = N.toString(2).padStart(8, '0');
  • 오후 3:25 2021-03-24 추가
  • 훨씬 더 간단한 방법이 있었다
  • padStart() 첫 번째 인자로 자릿수를 지정하고,
  • 두 번째 인자로 추가할 문자열을 입력한다
  • 만약에 첫 번째 인자보다 긴 문자열일 경우 아무 일도 일어나지 않는다
  • 비슷한 메서드로 padEnd() 가 있는데 이거는 패딩을 뒤에 추가한다

참고