数据概述

数据知识算法

1 认识数据的思想及意义数组

    如今的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流愈来愈密切,生活也愈来愈方便,大数据就是这个高科技时代的产物。阿里巴巴创办人马云去台演讲中就提到,将来的时代将不是IT时代,而是DT时代,DT就是Data Technology数据科技,显示大数据对于阿里巴巴集团来讲举足轻重。学习

    有人把数据比喻为蕴含能量的煤矿,煤炭按照性质有焦煤、无烟煤、肥煤、贫煤等分类,而露天煤矿、深山煤矿的挖掘成本又不同。与此相似,大数据并不在“大”,而在于“有用”。价值含量、挖掘成本比数量更为重要。对于不少行业而言,如何利用这些大规模数据是赢得竞争的关键。大数据

    大数据的价值体如今如下几个方面:spa

    1)对大量消费者提供产品或服务的企业能够利用大数据进行精准营销;设计

    2)作小而美模式的中小企业能够利用大数据作服务转型;视频

    3)面临互联网压力之下必须转型的传统企业须要与时俱进充分利用大数据的价值。 blog

 

2 什么是数据?数学

    数据:是事实或观察的结果,是对客观事物的逻辑概括,是用于表示客观事物的未经加工的原始的素材。产品

    一、数据是信息的表现形式和载体,能够是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据自己没有意义,数据只有对实体行为产生影响时才成为信息。

    二、数据能够是连续的值,好比声音、图像,称为模拟数据,也能够是离散的,如符号、文字,称为数字数据。

    在计算机系统中,数据以二进制信息单元0 1的形式表示。

    在计算机系统中,各类字母、数字符号的组合、语音、图像等统称为数据,数据通过加工后就成为信息。

 

3 数据的表现形式

    数据的表现形式能够从多种角度进行分类,下面咱们主要理解下计算机中的数据按表现形式进行的划分:

    一、数字数据:由阿拉伯数字符号构成的数据。如各类统计或量测数据;

    二、模拟数据:指在某个区间产生的连续值,如视频、图像、文字、声音等。

 

4 计算机数据中的数字数据表现

    在如今生活当中,咱们进行各类算术运算都是以十进制来表现的,1+9=?答案很简单,10;可是没有人会更加去细想,为何0--9这十个数在表现出来的时候是一位就OK,而10或100就不是一位呢?那么咱们来学习下进制。

    那么什么是进制呢?

    进制:也就是进位制,是人们规定的一种进位方法。

 

4.1 十进制

    (1)数码:指集合论中刻画任意集合所含元素数量多少的一个概念。

    十进制的基本符号是:0、一、二、三、四、五、六、七、八、9,咱们把这些称为十进制的数码;也就是基本符号,全部的十进制都由这十个数码组成的,每位在加时都是“逢十进一”。

    

    (2)位权:数制中每一固定位置对应的单位值称为位权

    那么你们能够考虑一个问题,说一个十进制数,已知第四位是5,其余位都是0,那么这个数是几?答案:5000,怎么算是5*10^4-1;那么就引入了一个权的概念。

    对于十进制,咱们能够从0开始,对数字的各个数位进行编号,即个位起从右往左依次为编号0,1,2,…;对的,从小数点后的数位则是-1,-2,...;而n位所表明的权的大小就是10n-1;

    在计算机系统中,数据以二进制信息单元0,1的形式表示,那么在计算机系统中,二进制又是怎么一回事呢?

 

4.2 二进制

    二进制:同十进制同样,也是计数的一种方法。

    一、计算机中采用二进制主要缘由

    1)技术实现简单:计算机是由逻辑电路组成,逻辑电路一般只有两个状态,开关的接通与断开,这两种状态正好能够用“1”和“0”来表示;

    2)简化运算规则:两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提升运算速度;

    3)适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合;

    4)易于进行转换:二进制与十进制数易于互相转换;

    5)用二进制表示数据具备抗干扰能力强,可靠性高等优势。由于每位数据只有高低两个状态,当受到必定程度的干扰的时候,仍能可靠地分辨出它是高是低。

 

    二、二进制的数码:0和1,“逢二进一”

   

    三、二进制数的表示形式

    方法一:(100001)2   方法二:100001B

   

    四、二进制的权位:n位上的数值表明是2n-1,如二进制数100001究竟是咱们生活当中十进制的几呢?

 

    五、二进制转换为十进制:方法是按权位求和

    二进制数100001=1*26-1+0*25-1+2*04-1+0*23-1+0*22-1+1*21-1=33(注:中间计算过程都是十进制)

 

    六、二进制和十进制同样也能够进行加减乘除算术的四则运算,还能够进行逻辑运算。下面咱们就来看一下二进制的运算:

 

    七、二进制的四则运算

    100001+111001=?(和十进制加法同样只是逢二进一便可)

            

    

    1000011-111001=?(和十进制减法同样只是不够减,向前一位借,每次借2)

 

    八、十进制转二进制的方法

    这里咱们只讨论能转换成的整数,不讨论小数。

    咱们以100转换成二进制为例来讲,方法是用除二取余法,在开始这个方法前,咱们先看一个例子:在小学数学的学习中,咱们学过9/2=4----1,4咱们称之为商(取整),1咱们称之为余数。

    除二取余法:依次除二求余直至最后为0,而后从下向上依次写下每次的余数组成新数。

 

    示例:

    十进制: 0 1 2 3 4 5 6 7 8 9

     1 + 9 = 10(逢十进一)

    二进制:0 1

    10=1*22-1+0*21-1=2

 

4.3 八进制数

    因为二进制数据的基R较小,因此二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基R=8=23,有数码0 1 2 3 4 5 6 7而且每一个数码正好对应三位二进制数,因此八进制能很好的反映二进制。八进制用下标8或数据后面加上0表示。

    例如:二进制数据(11 101 010. 010 110 100)2对应的八进制数据为(3 5 2 . 2  6 4)8或352.2640。

 

4.4 十六进制

    因为二进制数在使用中位数太长,不容易记忆,因此又提出来了十六进制数。

    十六进制数有两个基本特色:它由十六个字符0~9以及A、B、C、D、E、F组成(他们分别表示十进制数10~15),十六进制数运算规律是逢十六进一,即基R=16=2^4,一般在表示时用尾部标志H或下标16以示区别。

    例如:十六进制数4AC8可写成(4AC8)16,或者写成4AC8H。

 

4.5 八进制、十六进制转换为十进制

    (10)8  =  1*82-1 + 0*81-1  = 8

    (4AC8)16 = 4*164-1 + 10*163-1 + 12*162-1 + 8*161-1 = 16384 + 2560 + 192 + 8 = 19144

 

4.6 二进制数与十六进制数之间的转换

    因为4位二进制数刚好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的,因此,十六进制数与二进制输的转换是十分简单的。

 

4.6.1 十六进制数转换成二进制数

    只要将每一位十六进制数用对应的4位二进制数替代便可一一简称四位一分

    例:将(4AF8B)16转换为二进制数

          解    4      A      F     8      B

              0100   1010  1111 1000   1011   

 

4.6.2 二进制数转换为十六进制数

    分别向左、向右每四位一组,依次写出每组4位二进制数所对应的十六进制数--简称四位合一位

    例:将二进制数(000111010110)2转换为十六进制数

         解    0001  1101  0110

                  1       D      6

        因此(000111010110)2=(1D6)16

        注意:转换时若是最后一组不足4位时必须加0补齐4位。

 

4.7 二进制与八进制互转

    和二进制转十六进制类似,只是每三位二进制转成一位八进制,而一位八进制数转换成三位二进制数

 

5 机器数与真值

    在学习原码,反码和补码以前,咱们须要先了解机器数和真值得概念。

 

5.1 机器数

    一个数在计算机中的二进制表示形式,叫作这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号、正数为0,负数为1

    例:

        十进制中的数 +3 ,计算机字长位8位,转换成二进制就是00000011;

        若是是-3,就是100000011;

        那么这里的00000011和10000011就是机器数

 

5.2 真值

    由于第一位是符号位,因此机器数的形式值就不等于真正的数值。例如上面的有符号数10000011,其最高位1表明负,其真正数值是-3,而不是形式值131(10000011转换成十进制等于131)。因此为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值

    例: 0000 0001 的真值 = +0000 0001 = +1,1000 0001的真值 = -0000 0001 = -1。

 

6 原码、反码及补码

 

6.1 原码、反码及补码的由来

    首先,由于人脑能够知道第一位是符号位,在计算的时候咱们会根据符号位,选择对真值区域的加减,可是对于计算机,加减乘除已是最基础的运算,要设计的尽可能简单,计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂。因而人们相出了将符号位也参与运算的方法。咱们知道,根据运算法则减去一个正数等于加上一个负数,即:1 - 1 = 1 + (-1) = 0,因此机器能够只有加法而没有减法,这样计算机运算的设计就更简单了。

    因而,人们为了将符号位参与运算,而且只保留加法,从而简化计算机运算,发明了原码、反码及补码。

    原码、反码及补码都是有符号的用二进制表示数的方法,均由符号位和数值位构成

 

6.2 原码

    原码是符号位加上真值的绝对值,即用第一位表示符号,其他位表示值。好比若是是8位二进制:

    [+1]原 = 0000 0001

    [-1]原 = 1000 0001

    第一位是符号位,其他7位时数值位。由于第一位是符号位,因此8位二进制数的取值范围就是:[1111 1111,0111 1111]即[-127,127]

    原码是人脑最容易理解和计算的表示方式。

 

6.3 反码

    反码的表示方法是:正数的反码是其自己  负数的反码是在其原码的基础上,符号位不变,其他各位取反。

    [+1] = [00000001]原 = [00000001]反

    [-1] = [10000001]原 = [11111110]反

    可见,若是一个反码表示的是负数,人脑没法直观的看出来它的数值,一般要将其转换成原码再计算。

 

6.4 补码

    补码的表示方式是:正数的补码就是其自己,负数的补码是在其原码的基础上,符号位不变,其他各位取反,最后+1(即在反码的基础上+1)。

    [+1] = [00000001]原 = [00000001]反 = [00000001]补

    [-1] = [10000001]原 = [11111110]反 = [11111111]补

    对于负数,补码表示方式也是人脑没法直观的看出其数值的,一般也须要转换成原码再计算其数值。

    在计算机系统中,数值一概用补码来表示(存储)。主要缘由:使用补码能够将符号位和其它位统一处理;同时,减法也能够按加法来处理。另外,两个用补码表示的数相加时,若是最高位(符号位)有进位,则进位被舍弃;补码与原码的转换过程几乎是相同的。