十进制转二进制

  1. <script>
  2. var num = 10;
  3. /* 用num/2
  4. 1、得到余数
  5. 2、用整除的数/2
  6. */
  7. var arr = [];
  8. while(num>0){
  9. arr.unshift(num%2);
  10. num = Math.floor(num/2);
  11. }
  12. console.log(Number(arr.join("")))
  13. </script>

二进制转十进制

  1. <script>
  2. var num = 1010;
  3. /*
  4. 0*2^0+1*2^1+0*2^2+1*2^3
  5. 0+2+0+8
  6. */
  7. /* [0,1,0,1] */
  8. var str = (num+"").split("").reverse();
  9. console.log(str)
  10. /* Math.pow(2,2) */
  11. // console.log(Math.pow(2,3))
  12. var sum = 0;
  13. str.forEach((item,index)=>{
  14. sum+= item*Math.pow(2,index);
  15. })
  16. console.log(sum)
  17. </script>