十进制转二进制。
    核心思路:在while循环中,将十进制数字除以2,同时将除以2的余数一次次记录下来,而每次除以2得到的整数商就是下次用来除以2的。直到整数商不够用来除以2了就停止。记录下来的余数的排列顺序是反的,最后反转一下就好。
    代码:

    1. function dec2bin(decNumber) {
    2. // 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
    3. if(decNumber < 0){
    4. console.log('请输入非负整数');
    5. return;
    6. }
    7. if(decNumber == ''){
    8. console.log('请输入内容');
    9. return;
    10. }
    11. var bin = parseInt(decNumber);
    12. var bin2 = '';
    13. while(bin>0){
    14. bin2 += bin%2;
    15. bin = Math.floor(bin/2);
    16. }
    17. //反转字符串,要先转成数组,再反转,最后合并成字符串
    18. return bin2.split('').reverse().join('');
    19. }

    image.gif

    3的小游戏,练习使用循环和条件语句,实现如下需求:
    从1到100,以此在console输出各数字,但是,当数字为3的倍数或者含有3的时候,输出“PA”
    比如:1,2,PA,4,5,PA,……,11,PA,PA,14,PA……
    思路:for循环中分两步,第一步输出的数字为3的倍数,只要用条件%3==0来判断就可以了,是则打印’PA’。第二步将这个数字转换成字符串,分割成数组,每一项都是数字的某一位上的数,再用includes()判断这个数组是否包含为’3’的元素即可,是则打印’PA’。
    代码:

    1. for(var i=1;i<=100;i++){
    2. if(i%3 == 0){
    3. console.log('PA');
    4. continue;
    5. }
    6. var n = i;
    7. //array.includes(searchElement[, fromIndex]) 判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回false
    8. if(n.toString().split('').includes('3')){
    9. console.log('PA');
    10. continue;
    11. }
    12. console.log(i);
    13. }

    image.gif