1 / 39

第三章 資料型別與運算子

第三章 資料型別與運算子. 數字系統 資料型別 運算子. 個位數. 百位數. 十位數. 第三章 資料型別與運算子. 數字系統 電腦世界是個只有 0 和 1 的世界,必須把資料變成一堆的 0 和 1 ,這樣電腦才看得懂。 「數字系統」指的是我們用來表示數字的方法。 523 的真正意思. 二進位制. 十進位制. 第三章 資料型別與運算子. 數字系統 ( 續 ) 二進位數字 1011. 第三章 資料型別與運算子. 數字系統 ( 續 ) 十進位的數字轉成二進位的數字. 第三章 資料型別與運算子. 數字系統 ( 續 )

Download Presentation

第三章 資料型別與運算子

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 資料型別與運算子 數字系統 資料型別 運算子

  2. 個位數 百位數 十位數 第三章 資料型別與運算子 • 數字系統 • 電腦世界是個只有0和1的世界,必須把資料變成一堆的0和1,這樣電腦才看得懂。 • 「數字系統」指的是我們用來表示數字的方法。 • 523的真正意思

  3. 二進位制 十進位制 第三章 資料型別與運算子 • 數字系統 (續) • 二進位數字1011

  4. 第三章 資料型別與運算子 • 數字系統 (續) • 十進位的數字轉成二進位的數字

  5. 第三章 資料型別與運算子 • 數字系統 (續) • 在電腦世界中,我們把二進位的1個位數叫做1個bit,中文翻譯成「位元」。 • 二進位數1101,就是有4個bit。 • 以13這個十進位的數字來說,很明顯的,最少需要4位數,才能放得下轉換成二進位後的那一串0與1,也就是1101。 • 我們需要準備多少個bit來存放資料?

  6. 第三章 資料型別與運算子 • 資料型別 • 資料並不是只有整數而已,還有許多不同形式的資料存在,例如含有小數點的數字、文字等。 • 不同形式的資料,有各自不同的方式來轉換成電腦看得懂的0和1。 • 為了處理上的需要,我們把各種資料加以分類,區分為不同的「資料型別」。

  7. 第三章 資料型別與運算子 • 資料型別 (續) • 用來描述資料型別的表格 • 「佔用記憶體」指的是,我們需要分配多少儲存空間,也就是記憶體,來存放一筆這個資料型別的資料。 • 因為Byte這個擁有1 byte儲存空間的資料型別,是用來表示不帶正負號的整數,而且依照定義,1 byte = 8 bit,所以我們可以算出它的數值範圍。 • 一個含有8個位數的二進位數,最小和最大的數值分別是

  8. 第三章 資料型別與運算子 • 資料型別 (續) • 25610=1000000002 ,需要9個bit才能放得下。 • Byte只擁有8 bit的儲存空間,所以放不下256。硬塞的話,會出現叫做「溢位」的錯誤。 • 「溢位」指的就是說,要存放的資料太長,已經從我們所準備的儲存空間中滿出來了。換句話說,有一部份的資料因為滿出來而流失不見了。

  9. 第三章 資料型別與運算子 • 資料型別 - 數字資料型別 • 用來處理不同表示法的數字。 • 整數類資料型別:用來表示正整數、負整數,和0等不含小數部分的數字。 • 不帶正負號的整數型別。 • 帶正負號的整數型別。 • 非整數類資料型別:用來 表示同時含有整數和小數 部分的數字。 E代表10的幾次方。 1.23E+5 = 1.23×105 1.23E-5 = 1.23×10-5

  10. 第三章 資料型別與運算子 • 資料型別 - 字元資料型別 • 用來處理可以列印和可以顯示的字元,例如英文字母、阿拉伯數字、$#~!<>?(){}[]&^%……等等。 • 一大串字元叫做字串。 • 在VB裡頭,用雙引號包起來的,就是字串。例如,"abc"是字串,而"123"也是字串,而不是數目字123。

  11. 第三章 資料型別與運算子 • 資料型別 - Boolean資料型別 • 專門用來處理只包含兩種狀態的資料,例如真或假、是或非、開或關等。

  12. 第三章 資料型別與運算子 • 資料型別 - Date資料型別 • 專門用來處理日期、時間等資料。

  13. 第三章 資料型別與運算子 • 資料型別 - Object資料型別 • 這個資料型別可以處理任何型別的資料,不過要注意的是,在不同的作業系統上,它佔用的記憶體是不一樣多的。

  14. 第三章 資料型別與運算子 • 運算子 • 運算子就是+、-、×、÷這一類的東西。 • 30 + 25,「+」就是運算子,而30和25叫做運算元。

  15. 第三章 資料型別與運算子 • 運算子 - 算數運算子 • 用來進行數學計算的運算子。

  16. 第三章 資料型別與運算子 • 運算子 - 比較運算子 • 比較兩個運算式,比較的結果會用Boolean值,也就是True或False來表示。

  17. 第三章 資料型別與運算子 • 運算子 - 串連運算子

  18. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 • 用來處理邏輯關係的運算子。 • 在表示邏輯關係以及邏輯運算子的作用的時候,我們會用Boolean值,也就是True或False來表示。 • True有時候會簡寫成T,而False則簡寫成F。 • 也有用1來表示True,而0則表示False的用法。

  19. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 邏輯運算子And的真值表

  20. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 邏輯運算子Or的真值表

  21. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 邏輯運算子XOr的真值表

  22. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 範例3.3.4-1

  23. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 邏輯運算子Not的真值表 範例3.3.4-2

  24. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 最少運算(short circuit)邏輯運算子AndAlso

  25. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 最少運算(short circuit)邏輯運算子OrElse

  26. 第三章 資料型別與運算子 • 運算子 - 邏輯運算子 (續) • 範例3.3.4-3

  27. 第三章 資料型別與運算子 • 運算子 - 位元運算子 • 在VB中,And、Or、Xor、Not這四個運算子,除了可以處理邏輯關係之外,也可以用來處理數值關係。 • 一個位元裡面放的值,不是0就是1,而邏輯上的True和False,也可以用1和0來表示。 • 在利用And、Or、Xor、Not這四個運算子處理兩個位元之間的關係時,只要把原來真值表中的True改成1,而False改成0,就可以了。 • 因為And、Or、Xor、Not這四個運算子,也可以拿來處理位元之間的關係,所以也被歸類為位元運算子。

  28. 第三章 資料型別與運算子 • 運算子 - 位元運算子(續) • And、Or、Xor這三個運算子,用來處理兩個位元之間的關係時,它們的真值表為

  29. 第三章 資料型別與運算子 • 運算子 - 位元運算子(續) • Not運算子,用來處理兩個位元之間的關係時,真值表為

  30. 第三章 資料型別與運算子 • 運算子 - 位元運算子(續) • 10 And 8 = 8

  31. 第三章 資料型別與運算子 • 運算子 - 位元運算子(續) • 範例3.3.5-1

  32. 第三章 資料型別與運算子 • 運算子 - 位元運算子(續) • 範例3.3.5-2

  33. 第三章 資料型別與運算子 • 運算子 - 位元位移運算子 • 位元位移運算子有「<<」和「>>」兩種。 • 把192這個數字放到Short這個資料型別裡頭,以二進位來表示192的時後,就會得到16位數的0000 0000 1100 0000。 • 192 << 4就會得到0000 1100 0000 0000,也就是十進位的3072。

  34. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0000 0000 第三章 資料型別與運算子 • 運算子 - 位元位移運算子(續) • 192 << 4 向左移動4個位置 右邊空出來的補0 左邊跑出去的丟掉

  35. 第三章 資料型別與運算子 • 運算子 - 位元位移運算子(續) • 運算子「>>」的作用,恰好和「<<」反方向,會把所有的位元向右移動。在移動的時後,右邊跑出去的,就丟掉,而左邊空出來的,就都補0。

  36. 第三章 資料型別與運算子 • 運算子 - 運算子優先順序 • 在算5+3×2的時候,我們會先算出3×2,然後再加上5,最後得到11。 • +和×都是數學上的運算子,而誰要先做誰要後做這樣的規則,就叫做「運算子優先順序」。 • 以加減乘除來說,乘除的優先順序要比加減來得高,所以我們要先做乘除的部分。

  37. 第三章 資料型別與運算子 、 、 • 運算子 - 運算子優先順序 (續) • VB的「運算子優先順序」如右表。 • 優先順序數字越小的,就要越優先處理。 • 優先順序相等的,處理順序就是由左到右。 • 小刮號「( )」刮起來的部分,優先順序是最高的,要優先處理。

  38. 第三章 資料型別與運算子 、 、 • 運算子 - 運算子優先順序(續) • 範例3.3.7-1 • 3 + 2^3 Mod 2 答:3 + 2^3 Mod 2 = 3 + 8 Mod 2 = 3 + 0 = 3 • 64/8/2 答:64/8/2 = 8/2 = 4 • 64/8*2 答:64/8*2 = 8*2 = 16

  39. 第三章 資料型別與運算子 、 、 • 運算子 - 運算子優先順序(續) • 範例 • ((3 + 2)*2)^2 答:((3 + 2)*2)^2 = (5*2)^2 = 10^2 = 100 • 3 > 2 And 2 > 0 答:3 > 2 And 2 > 0 ==> True And True ==> True • Not (3 > 2 Or 1 > 0) 答:Not (3 > 2 Or 1 > 0) ==> Not (True Or True) ==> Not True ==> False

More Related