Lesson 001 —— 數據

Lesson 001 —— 數據

數據(data)是事實或觀察的結果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經加工的原始素材。數據是信息的表現形式和載體,可以使符號、文字、數字、語音、圖像、視頻等。

進制

進制也就是進位制,是人們規定的一種進位方式。

  • 十進制

    • 數碼:指集合論中刻畫任意集合所含元素數量多少的一個概念。

      十進制的基本符號是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9,我們把這些稱之為十進制的數碼,也就是基本符號,所有的十進制數都是由這十個數碼組成。每位在加時都是“逢十進一”。

    • 位權:數制中每一固定位置對應的單位值稱為位權。

      我們可以從 0 開始,對數字的各個數位進行編號,即個位起,從右向左依次編號為0, 1, 2, ...;對稱的,從小數點后的數位則為-1, -2, ...;而 n 位所代表的權的大小為 10n-1

  • 二進制

    在計算機系統中采用的進位計數制。在二進制中,數用0和1兩個符號來描述。計數規則是逢二進一,借一當二。

  • 數制符號

    二進制 B (binary)

    八進制 O (octal)

    十進制 D (decimal)

    十六進制 H (hexadecimal)

進制轉換

  • 其它進制轉十進制

    將其它進制按權位展開,然后各項相加,就得到相應的十進制數。

    例1: N=(10110.101)B=(?)D
    按權展開N=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0+1*2^-1+0*2^-2+1*2^-3
    =16+4+2+0.5+0.125 =(22.625)D
  • 將十進制轉換為其它進制

    分兩部分進行的即整數部分和小數部分。

    • 整數部分:(基數除法)

      把我們要轉換的數除以新的進制的基數,把余數作為新進制的最低位;

      把上一次得的商在除以新的進制基數,把余數作為新進制的次低位;

      繼續上一步,直到最后的商為零,這時的余數就是新進制的最高位.

    • 小數部分: (基數乘法)

      把要轉換數的小數部分乘以新進制的基數,把得到的整數部分作為新進制小數部分的最高位

      把上一步得的小數部分再乘以新進制的基數,把整數部分作為新進制小數部分的次高位;

      繼續上一步,直到小數部分變成零為止。或者達到預定的要求也可以。

  • 二進制與八進制、十六進制的相互轉換

    二進制轉換為八進制、十六進制:它們之間滿足23和24的關系,因此把要轉換的二進制從低位到高位每3位或4位一組,高位不足時在有效位前面添“0”,然后把每組二進制數轉換成八進制或十六進制即可。

    八進制、十六進制轉換為二進制時,把上面的過程逆過來即可。

二進制運算

  • 算數運算

    二進制的算數運算包括:加、減、乘、除四則運算。

    1. 二進制的加法

      根據“逢二進一”規則,二進制數加法的法則為:

      0+0=0
      0+1=1+0=1
      1+1=0 (進位為1) 
      1+1+1=1 (進位為1)

      01-01

    2. 二進制的減法

      根據“借一有二”的規則,二進制數減法的法則為:

      0-0=0
      1-1=0
      1-0=1
      0-1=1 (借位為1)

      01-02

    3. 二進制的乘法

      二進制數乘法過程可仿照十進制數乘法進行。但由于二進制數只有0或1兩種可能的乘數位,導致二進制乘法更為簡單。二進制數乘法的法則為:

      0×0=0
      0×1=1×0=0
      1×1=1

      01-03

    4. 二進制的除法

      二進制數除法與十進制數除法很類似。可先從被除數的最高位開始,將被除數(或中間余數)與除數相比較,若被除數(或中間余數)大于除數,則用被除數(或中間余數)減去除數,商為1,并得相減之后的中間余數,否則商為0。再將被除數的下一位移下補充到中間余數的末位,重復以上過程,就可得到所要求的各位商數和最終的余數。

      01-04

      說明:乘除法分原碼乘法和補碼乘法。

  • 邏輯運算

    二進制數的邏輯運算包括邏輯加法(“或”運算)、邏輯乘法(“與”運算)、邏輯否定(“非”運算)和邏輯“異或”運算。

    1. 邏輯“或”運算

      又稱為邏輯加,可用符號“+”或“∨”來表示。邏輯“或”運算的規則如下:

      0+0=0 或 0∨0=0
      0+1=1 或 0∨1=1
      1+0=1 或 1∨0=1
      1+1=1 或 1∨1=1

      可見,兩個相“或”的邏輯變量中,只要有一個為1,“或”運算的結果就為1。僅當兩個變量都為0時,或運算的結果才為0。計算時,要特別注意和算術運算的加法加以區別。

    2. 邏輯“與”運算

      又稱為邏輯乘,常用符號“×”或“· ”或“∧”表示。“與”運算遵循如下運算規則:

      0×1=0 或 0·1=0 或 0∧1=0
      1×0=0 或 1·0=0 或 1∧0=0
      1×1=1 或 1·1=1 或 1∧1=1

      見,兩個相“與”的邏輯變量中,只要有一個為0,“與”運算的結果就為0。僅當兩個變量都為1時,“與”運算的結果才為1。

    3. 邏輯“非”運算

      又稱為邏輯否定,實際上就是將原邏輯變量的狀態求反,在變量的上方加一橫線表示“非”。邏輯變量為0時,“非”運算的結果為1。邏輯變量為1時,“非”運算的結果為0。

    4. 邏輯“異或”運算

      “異或”運算,常用符號“”或“”來表示,其運算規則為:

      00=0 或 00=0
      01=1 或 01=1
      10=1 或 10=1
      11=0 或 11=0

      可見:兩個相“異或”的邏輯運算變量取值相同時,“異或”的結果為0。取值相異時,“異或”的結果為1。

機器數與真值

  • 機器數:一個數在計算機中的二進制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機中用一個數的最高位存放符號,正數為 0, 負數為 1 。
  • 真值:將帶符號的機器數對應的真正數值稱為機器數的真值。

原碼、反碼、補碼

為了將符號位參與運算,并且只保留加法,從而簡化計算機運算,發明了原碼、反碼和補碼。它們都是用有符號的二進制數表示的方法,均由符號位數值位構成。

  • 原碼:原碼是符號位加上真值的絕對值,即用第一位表示符號,其余為表示值。

    [+1]原 = 0000 0001
    [-1]原 = 1000 0001
  • 反碼:正數的反碼是其本身;負數的反碼是其在原碼的基礎上,符號位不變,其余各個位取反。

    [+1] = [0000 0001]原 = [0000 0001]反
    [-1] = [1000 0001]原 = [1111 1110]反
  • 補碼:正數的補碼是在其本身;負數的補碼是在其原碼的基礎上,符號位不變,其余各位取反,最后 +1(即在反碼的基礎上 +1)。

    [+1] = [0000 0001]原 = [0000 0001]反 = [0000 0001]補
    [-1] = [1000 0001]原 = [1111 1110]反 = [1111 1111]補
    [+0] = [0000 0000]原 = [0000 0000]反 = [0000 0000]補
    [-0] = [1000 0000]原 = [1111 1111]反 = [0000 0000]補

    在計算系統中,數值一律用補碼來表示(存儲)。主要原因:使用補碼,可以將符號位和其余各位統一處理;同時,減法也可以按照加法來處理。另外,兩個用補碼表示的數相加時,如果最高位(符號位)有進位,則進位被舍棄;補碼與原碼的轉換過程幾乎是相同的。

轉載于:https://www.cnblogs.com/arelive/p/python-1.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工作記錄四-etcd與flanneld

######################### etcd用來做flannld的數據中心,記錄flannld各主機子網的配置## flannld使各容器實例處于同一子網內,可以相互訪問####################### ### 一、etcd安裝及使用## 1. 下載編譯二進制包git clone https://github.com/coreos…

C#獲取剛插入的數據的id

在開發程序中我們經常會遇到兩個表或多個表關聯同時插入數據的需求。 那么我們剛給主表插入一條數據,接著給副表插入數據時其中一個字段要存儲與主表關聯的id,那么我們該怎么獲取剛插入的那條數據的id呢? insert infor values(,) ;SELECT Ide…

感謝您的提問_感謝您的反饋,我們正在改進的5種方法

感謝您的提問by freeCodeCamp通過freeCodeCamp 感謝您的反饋,我們正在改進的5種方法 (5 Ways We’re Improving Thanks to Your Feedback) This was originally published on our now-defunct blog on September 17, 2015.該文章最初于2015年9月17日發布在我們現已…

sql三個表join_「數據蔣堂」第 31 期:JOIN 簡化 – 維度對齊

【數據蔣堂】第 31 期:JOIN 簡化 – 維度對齊我們先把上一期中雙子表對齊例子的 SQL 寫出來:SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

radius

radius協議使用的是UDP傳輸協議,UDP協議相對于TCP更快速,無連接的不可靠。radius協議的包格式:0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1-----------…

apt-get常用命令及工作原理

https://blog.csdn.net/mosquito_zm/article/details/63684608轉載于:https://www.cnblogs.com/diyunpeng/p/9772866.html

day10_控制文件

---------------------驗證互為鏡像功能---------------------窗口1cd /oracle/app/oradata/ecomrm control03.ctl 窗口2SQL> startup force;ORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size …

堆疊自編碼器中的微調解釋_25種深刻漫畫中的編碼解釋

堆疊自編碼器中的微調解釋by freeCodeCamp通過freeCodeCamp 25種深刻漫畫中的編碼解釋 (Coding Explained in 25 Profound Comics) We asked our open source community to share the comics they found most profoundly described coding, via our news site. Here are their…

linux和mysql重點哪個_重要的MySQL 文檔存儲知識點掃盲

MySQL 文檔存儲 可以跳過底層數據結構創建、數據規范化和其它使用傳統數據庫時需要做的工作,直接存儲數據。MySQL 可以提供 NoSQL JSON 文檔存儲Document Store 了,這樣開發者保存數據前無需 規范化normalize 數據、創建數據庫,也無需在開發之…

python端口掃描工具_Python實現的多線程端口掃描工具分享

# -*- coding: utf-8 -*-__author__ Phtih0nimport threading, socket, sys, cmd, os, Queue#掃描常用端口PortList [21, 22, 23, 25, 80, 135, 137, 139, 445, 1433, 1502, 3306, 3389, 8080, 9015]#得到一個隊列def GetQueue(list):PortQueue Queue.Queue(65535)for p in …

Linux系統啟動全過程

分為兩部分,第一部分是硬件本身需要加載的信息,之后才是加載Linux相關信息,因為有裝有雙系統的機器嘛 1.計算機加電 2.BIOS開始運行,檢測硬件:cpu、內存、硬盤等 3.BIOS讀取CMOS存儲器中的參數,選擇啟動設備…

day09_讀寫分離_Atlas小記

GRANT ALL PRIVILEGES ON *.* TO root% identified by mysql;FLUSH PRIVILEGES;主從庫上全做--------------------------------------------------------------------yum install -y gcc*rpm -ivh Atlas-2.2.1.el5.x86_64.rpm 【rpm包直接安裝】rpm -ql Atlas 【查看安裝路徑…

Free Code Camp現在有本地組

by freeCodeCamp通過freeCodeCamp Free Code Camp現在有本地組 (Free Code Camp now has Local Groups) Our open source community was born online. And our campers are adept at using the internet to communicate. Most of this communication is just short text messa…

二十四點游戲python_[求助]關于二十四點游戲python

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓24點紙牌游戲的開發24點是一種老少咸宜的游戲,它的具體玩法如下:給玩家4張牌,每張牌的面值在1~13之間,允許其中有數值相同的牌。采用加、減、乘、除四則運算,允…

python-3.6.2安裝

1、下載python-3.6.2-amd64.exe安裝包 官網下載地址:https://www.python.org/ 2、Python安裝,雙擊傻瓜式安裝(用英文路徑,不要有空格), 特別要注意勾上Add Python 3.6 to PATH(勾選后&#xff0…

Siege壓力工具

Siege官方:http://www.joedog.org/ Siege下載:http://www.joedog.org/pub/siege/siege-latest.tar.gz Siege解壓并安裝:# tar -zxvf siege-latest.tar.gz # cd siege-latest/ #./configure #make #make installSiege使用:# siege -h 查看相關…

遞歸javascript_JavaScript中的遞歸

遞歸javascriptby Kevin Ennis凱文恩尼斯(Kevin Ennis) JavaScript中的遞歸 (Recursion in JavaScript) I’m just gonna get this out of the way right up front, because people get really angry otherwise:我只是直接解決這個問題,因為否則人們會非常生氣&…

python google drive api_Python管理Google Drive文件

背景Google Drive給我們提供了很多管理和共享文件的簡便方法,而且還是免費的(當然免費賬戶有一定存儲限制)。但是,對于某些edu用戶,Google Drive存儲不僅是免費的,而且是無配額限制的。您是否想知道如何從數據科學的角度充分利用這…

Struts2學習---基本配置,action,動態方法調用,action接收參數

首先我們先來直接配置,然后再來講原理: 第一步:jar包的引入: 我們可以到struts2的官網上下載: http://struts.apache.org/download.cgi#struts2513 然后解壓將里面的app文件夾下的示例war文件解壓,將里面的…

實現對數組找最大最小數

實現對數組找最大最小數 在用js的過程中我們往往會需要找到一個數組里最大或最小的數, 但是我們不能直接用Math.max(Arr)或Math.min(Arr),因為max()里面不能填數組,只能填連續的數。 那我們該怎么辦呢? 一定…