十进制转二进制。
核心思路:在while循环中,将十进制数字除以2,同时将除以2的余数一次次记录下来,而每次除以2得到的整数商就是下次用来除以2的。直到整数商不够用来除以2了就停止。记录下来的余数的排列顺序是反的,最后反转一下就好。
代码:
function dec2bin(decNumber) {
// 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
if(decNumber < 0){
console.log('请输入非负整数');
return;
}
if(decNumber == ''){
console.log('请输入内容');
return;
}
var bin = parseInt(decNumber);
var bin2 = '';
while(bin>0){
bin2 += bin%2;
bin = Math.floor(bin/2);
}
//反转字符串,要先转成数组,再反转,最后合并成字符串
return bin2.split('').reverse().join('');
}
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’。
代码:
for(var i=1;i<=100;i++){
if(i%3 == 0){
console.log('PA');
continue;
}
var n = i;
//array.includes(searchElement[, fromIndex]) 判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回false
if(n.toString().split('').includes('3')){
console.log('PA');
continue;
}
console.log(i);
}