數據概述

數據知識算法

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]補

    對於負數,補碼錶示方式也是人腦沒法直觀的看出其數值的,一般也須要轉換成原碼再計算其數值。

    在計算機系統中,數值一概用補碼來表示(存儲)。主要緣由:使用補碼能夠將符號位和其它位統一處理;同時,減法也能夠按加法來處理。另外,兩個用補碼錶示的數相加時,若是最高位(符號位)有進位,則進位被捨棄;補碼與原碼的轉換過程幾乎是相同的。

相關文章
相關標籤/搜索