Diriector_Doc

toBin

Jan 25th, 2022 (edited)
659
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function toBin1(num){
  2.     return [...num.toString(2)].map(e => +e)
  3. }
  4. function toBin2(num){
  5.     let arr = [];
  6.     for(let i = 7; i >= 0; i--){
  7.         if(num - 2**i >= 0){
  8.             arr.push(1)
  9.             num -= 2**i
  10.         } else {
  11.             arr.push(0)
  12.         }
  13.     }
  14.     while(arr[0] === 0){
  15.         arr.shift()
  16.     }
  17.     return arr
  18. }
  19. function toBin3(num) {
  20.     let str = "";
  21.     do {
  22.         str = `${num % 2}${str}`;
  23.         num >>= 1;
  24.     } while (num);
  25.     return str;
  26. }
  27. for(let i = 0; i < 10000; i++);
  28. console.time("1");
  29.  
  30. for(let i = 0; i < 1000; i++) toBin1(i);
  31.  
  32. console.timeEnd("1");
  33. console.time("2");
  34.  
  35. for(let i = 0; i < 1000; i++) toBin2(i);
  36.  
  37. console.timeEnd("2");
  38. console.time("3");
  39.  
  40. for(let i = 0; i < 1000; i++) toBin3(i);
  41.  
  42. console.timeEnd("3");
RAW Paste Data Copied