主要內容
進位及其轉換標識符、關鍵字常量變量八大基本數據類型final常量和Scanner輸入算術運算符賦值運算符關係運算符邏輯運算符位運算符條件運算符運算符的優先級別基本數據類型的類型轉換學習目標
一、進位及其轉換
1.1 進位類型
十進位:人類使用
二進位:計算機使用
八進位和十六進位:為了更好的表示二進位(縮短二進位長度)
各進位數之間的關係
1.2 計算機為什麼使用二進位
物理上容易實現,可靠性強;運算簡單便於進行邏輯運算。二進位,是計算技術中廣泛採用的一種數制,由德國數理哲學大師萊布尼茨於1679年發明。二進位數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」。
數字計算機只能識別和處理由『0』.『1』符號串組成的代碼。其運算模式正是二進位。
二進位對應兩種狀態,廣泛應用於電子科學。比如:可以對應電子器件的開關狀態、對應信號電壓狀態(+5V等價於邏輯"1",0V等價於邏輯"0")、對應卡帶是否打孔狀態、電磁存儲(磁體狀態:南為0,北為1)等等。
二進位廣泛應用於我們生活的方方面面。比如,廣泛使用的摩爾斯電碼,它由兩種基本信號組成:短促的點信號「·」,讀「滴」;保持一定時間的長信號「—」,讀「嗒」。然後,組成了26個字母,從而拼寫出相應的單詞。
當然,我們沒有必要記住這些。如果一定想學,記住SOS就好了^_^
其實有人說在中國三千年前的著作《周易》中存在二進位數的使用和二——十進位數的轉換編碼。而且,更簡單、更先進、更科學。你認為是這麼一回事嗎?
在線進位轉化的工具: https://tool.lu/hexconvert/
1.3 進位轉換
二進位轉十進位二進位轉十進位採用「權相加法」。
十進位轉二進位十進位整數轉換為二進位整數採用"除2取餘,逆序排列"法。
1.4 計算機數據存儲單位
位 bit 最小值 0
最大值 1
表示的數的範圍 0-1(21-1)
字節 byte:8bit 最小值 00000000
最大值 11111111
表示的數的範圍 0-255(28-1)
字符 :16bit 最小值 0000 0000 0000 0000
最大值 1111 1111 1111 1111
表示的數的範圍0-65535(216-1)
KB、MB、GB、TB 1KB = 1024Byte ≈103Byte
1MB = 1024KB ≈ 106Byte
1GB = 1024MB ≈ 109Byte
1TB = 1024GB ≈ 1012Byte
1.5 計數範圍
符號位 二進位數如何表示正數和負數呢?
使用最高位作為符號位,0代表整數,1代表負數;其餘數位用作數值位,代表數值。
字節 byte表示的數的範圍 無符號數:0-255(28-1) 256個數
有符號數:-128(-27)--127(27-1) 還是256個數
字符表示的數的範圍 無符號數 0-65535(216-1) 65536個數
有符號數 -32768(-215)32767(215-1) 還是65536個數
1.6 字符集和字符編碼
計算機中儲存的信息都是用二進位數表示的;而我們在屏幕上看到的英文、漢字等字符是二進位數轉換之後的結果。通俗的說,按照何種規則將字符存儲在計算機中,如'a'用什麼表示,稱為"編碼";反之,將存儲在計算機中的二進位數解析顯示出來,稱為"解碼",如同密碼學中的加密和解密。在解碼過程中,如果使用了錯誤的解碼規則,則導致'a'解析成'b'或者亂碼。
字符集(Charset):是一個系統支持的所有抽象字符的集合。字符是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。
字符編碼(Character Encoding):是一套法則,使用該法則能夠對自然語言的字符的一個集合(如字母表或音節表),與其他東西的一個集合(如號碼或電脈衝)進行配對。即在符號集合與數字系統之間建立對應關係,它是信息處理的一項基本技術。通常人們用符號集合(一般情況下就是文字)來表達信息。而以計算機為基礎的信息處理系統則是利用元件(硬體)不同狀態的組合來存儲和處理信息的。元件不同狀態的組合能代表數字系統的數字,因此字符編碼就是將符號轉換為計算機可以接受的數字系統的數,稱為數字代碼。
常見的字符集和字符編碼
ASCII (阿寺克) ASCII ((American Standard Code for Information Interchange): 美國信息交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是最通用的信息交換標準,到目前為止共定義了128個字符。每個字符用1個字節表示。
◆ 0~31及127(共33個)是控制字符或通信專用字符(其餘為可顯示字符),如控制符:LF(換行)、CR(回車)、DEL(刪除)、BS(退格)等
◆ 32 空格
◆ 48~57為0到9十個阿拉伯數字。
◆ 65~90為26個大寫英文字母
◆ 97~122號為26個小寫英文字母
ISO8859-1 ◆ Latin-1,是西歐常用字符,包括德法兩國的字母
◆ 1個字節,兼容ASCII碼
GB2312 ◆ 大陸使用最早、最廣的簡體中文字符集;兼容ASCII編碼
◆ 每個漢字用2個字節表示
GBK ◆ GB2312的擴展,可以表示繁體中文
◆ 一個漢字用 2個字節表示
GB18030 ◆ GBK的擴展,最新的規範,不僅可以表示漢字、還可以表示維吾爾文、藏文等多個少數民族的字符
◆ 一個字符用 2個字節表示
BIG5 ◆ 臺灣的大五碼,表示繁體漢字 2個字節
Unicode ----UTF-8 UTF-16 ◆ 統一碼、萬國碼、單一碼 通常認為一個字符佔用2個字節
◆ 為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一併且唯一的二進位編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求國際通用字符集。
◆ 目前的Unicode字符分為17組編排,0x0000 至 0x10FFFF,每組稱為平面(Plane),而每平面擁有65536個碼位,共1114112個。然而目前只用了少數平面。第0平面(BMP)最為重要。
◆ Unicode 編碼共有三種具體實現,分別為utf-8,utf-16,utf-32,其中utf-8佔用一到四個字節,utf-16佔用二或四個字節,utf-32佔用四個字節
ANSI: ◆ 並不是某一種特定的字符編碼,而是在不同的系統中,ANSI表示不同的編碼。
◆ 在簡體中文Windows作業系統中,ANSI 代表 GBK 編碼;在繁體中文Windows作業系統中,ANSI代表Big5;在日文Windows作業系統中,ANSI 代表 Shift_JIS 編碼。
將持續更新內容,還請持續關注!更多內容請點「主頁」查看