首页 > 其他 > 详细

二进制的巧用

时间:2015-03-25 06:36:38      阅读:235      评论:0      收藏:0      [点我收藏+]

>>1  在计算机中可以算作是 / 2 . 但是它比后者的效率更高.这涉及到二进制的问题,实际上 , 在电脑中存储的都是二进制数据. 上面的只是一个二进制的小的应用.现在我抛出我的问题:

假设 有 A , B , C , D , E , F , G 7个逻辑条件 , 它们的规则就是 : 至少有一个为true . 2的7次 - 1 为127种可能.用传统的if ... else的做法 , 前端和后端都为疯掉的. 技术分享.现在提供二进制的解决方案,先回顾一下二进制运算符:

逻辑与 :  AND   都为1 才为1

逻辑或 :  OR  都为0 才为0

非 : 取反

异或 : 相同则取0

我解释的有些忒抽象 , 有点这方面的印象的话 , 应该看得懂 . 实在不明白的话 , 查下百度吧 , 亲.

万事俱备了 , 开始解决问题

前后台协议:

2的0次 计 A = 1      二进制 1

2的1次 计 B  = 2     二进制 10

2的2次 计 C  = 4     二进制 100

以此类推

后台 :

如只有A,B,C为true , 则向前端传  1+2+4 = 7  给前端解析

那如果只有A,B 成立呢 传 3

我们以A,B,C成立为例

7 的二进制为  :  111

前端 : 用逻辑与来解析

A  111&1 =  1    true

B  111&10 >> 1= 1   true

C 111&100 >>2 = 1 true

D 111 & 1000 >> 3 = 0 false

...

1 为 true 0 为false . 大伙可以试一下

本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1624003

二进制的巧用

原文:http://aonaufly.blog.51cto.com/3554853/1624003

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!