美文网首页
二进制和种类

二进制和种类

作者: 长孙雨聪七星上将 | 来源:发表于2018-02-01 14:03 被阅读0次

个人博客: http://zhangsunyucong.top

前言

话回我刚刚毕业来到深圳时,作为一个android菜鸟在一个大神波哥的指导下,学到了很多东西。其中,二进制和分类就是我印象最深的。想按自己理解记录一下。

想一下,有这样的需求:一个物体有一个种类属性,它这个属性有很多相互独立可以相加的值,也就是它有很多种情况,而且一个物体可同时具有其中一个或者多个情况。而我们想用一个数字就表示它的所有情况(这就是数学思维,总把东西抽象化)。

来个具体的,用于表示一个人是否有高血压,高血糖,高血脂这种属性。这个属性可以有各种情况的值,一个人可以只是有高血压、高血糖或者高血脂,也可以有“三高”。那我们如何用一个十进制的值来表示一个人的这个属性的各种情呢?

我们可以让十进制数字的二进制表示的每一位代表一种情况,运用二进制的位运算来表示和判断它的各种情况。

思路分析

还是上面举的例子。二进制的每一位代表一种情况,三种情况我们可以用二进制的四位表示就可以。其他更多的情况,可以用更多的位来表示。我们约定结果的格式表示为:二进制,十进制。

高血压: 0001,1 。---表示一个人只有高血压
高血糖: 0010,2 。---表示一个人只有高血糖
高血脂: 0100,4 。---表示一个人只有高血脂

那如何表示其他各种情况呢?

表示一个人有高血压和高血糖:0001 | 0010 = 0011,3
表示一个人有高血压和高血脂:0001 | 0100 = 0101,5
表示一个人有高血糖和高血脂:0010 | 0100 = 0110,6
表示一个人有高血压、高血糖和高血脂: 0001 | 0010 | 0100 = 0111,7

我们就说,这就是各种情况“相加”。

如果要从多种情况中减除一种或者多种情况,又如何操作呢?
比如代表“三高”的7,我们如何从中减除高血压这种情况。

7 & (~0001) = 0111 & (~0001) = 0111 & 1110 = 0110,6

说明:自身取“非”是为了不影响原来其他的各种情况,只改变自身那种情况的位。减除多种情况,以此类推。这就是情况的“相减”

如果给我们一个十进制:7,我们又如何知道它表示有多少种情况呢?

1、是否有高血压 0001?
7 & 0001 = 0001 即 0111 & 0001 = 0001
2、是否有高血糖?
7 & 0010 = 0010 即 0111 & 0010 = 0010
3、是否有高血脂?
7 & 0100 = 0100 即 0111 & 0100 = 0100

这实际就是,位的与运算是否等于自身。这就是各种情况的判断方法。

相关文章

  • 二进制和种类

    个人博客: http://zhangsunyucong.top 前言 话回我刚刚毕业来到深圳时,作为一个andro...

  • Oracle物理逻辑结构,文件管理

    逻辑和物理结构 一、参数文件 种类 spfile:动态,二进制参数文件,在线存储文件命名方式:spfile .or...

  • Mongodb——1

    BSON BSON是一种类似JSON的二进制形式的存储格式,简称Binary JSON。它和JSON一样,支持内嵌...

  • Mongodb高级篇-BSON & Aggregatio

    1、BSON BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支...

  • Bson类似于Protocol Buffer的数据形式,比jso

    一、Bson介绍 BSON是Binary JSON的缩写,是一种类json的一种二进制形式的存储格式。它和JSON...

  • BSON Types

    简介 BSON 是 BinaryJSON 的简写,是一种类似 JSON 的二进制编码存储格式,BSON 支...

  • 文件输入/输出

    文件内容和二进制内容:文本格式和二进制格式:文本模式和二进制模式:所有文件都是以二进制形式存储,但是如果文件最初使...

  • 2018-07-28

    文件和数据格式化 文件是数据的集合和抽象,文件包括两种类型二进制和文本文件,文件就是一组数据的集合。

  • C语言-文件操作

    C语言文件 C语言文件有两种类型:文本文件(也称ASCII码文件)和二进制文件。其差别在于存储数值型数据的方式不同...

  • BSON 语法规范v1.0(BSON Specification

    BSON 是一种类似 JSON 的二进制编码存储格式,它将0或多个键值(zero or more key/valu...

网友评论

      本文标题:二进制和种类

      本文链接:https://www.haomeiwen.com/subject/dbsdzxtx.html