非常牛逼的二进制开关

在前后端控制某项状态(状态开关非常多)时,可运用二进来控制,前后台协调好哪一位控制怎么样的一个状态;
例如:第一位 ‘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;
最后返回十进制 在传给后台;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值