在前后端控制某项状态(状态开关非常多)时,可运用二进来控制,前后台协调好哪一位控制怎么样的一个状态;
例如:第一位 ‘0’ 用来控制不显示,‘1’控制显示;
第二位 ‘0’用来控制字体颜色(默认颜色),‘1’控制显示红色
等等。。。
//二进制转换
binary(num, Bits) {
var d = parseInt(num / 2)
var resArry = [num % 2]
for (; d != 0;) {
d = parseInt(d / 2)
resArry.push(d % 2)
}
if (Bits) {
for (var r = resArry.length; r < Bits; r++) {
resArry.unshift(0)
}
}
return resArry.join().replace(/,/g, '')
}
//改变开关状态
switch(a,b,c){
//需要转换的十进制
let Binary = this.binary(a, 32);
//改变第几位的开关,b是第几位,c传过来的开关,1或者0
let Binary_arr = Binary.split('');
let newBinaryArr = Binary_arr.splice(b, 1, c)
console.log(Binary);
let newBinary = Binary_arr.join("");
//转换为十进制
let Decimal_system = parseInt(newBinary, 2);
return Decimal_system
}
a — 表示后台返回的十进制数字,
b — 表示更改第几位的开关,
c — 表示开关的状态,是0还是1;
最后返回十进制 在传给后台;