共計 4506 個字符,預計需要花費 12 分鐘才能閱讀完成。
這篇文章主要講解了“計算機軟件基本概念與進制的概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“計算機軟件基本概念與進制的概念是什么”吧!
第一章 計算機基礎
本部分主要介紹計算機相關的知識,重點介紹和軟件編程相關的基礎知識。
其實對于編程來說,計算機的基礎是越多越深就越好,但是受時間和精力的限制,每個人了解的其實還是很有限,下面就主要編程中常用的基礎知識,遺漏的地方請大家積極指正和補充。
計算機本質的結構就是將所有的內容數據化,其實軟件編程也采用的是同樣的邏輯,把各種需要保存的狀態數字化。
1.1 計算機軟件基本概念
軟件的概念
大家都知道,計算機分為硬件和軟件,其實看得見摸得著的算硬件,比如硬盤、主板什么的,摸不著的就算軟件了。
按照專業點的說法,軟件就是一組指令序列,那么如何理解他呢?舉個基本的例子,比如大家到學校報名,學校會給你一個單子,一般上面會寫,首先到哪里繳費、然后領證件,體檢什么的,反正至少也有那么 10 多條,如果把每條操作都看成指令的話,這個就是軟件的本質。
或者按照馮。諾伊曼的計算機體系,計算機就是接受輸入,進行處理,反饋結果,其實軟件也是這樣,提供界面接受用戶的輸入,根據邏輯進行處理,把結果反饋給用戶,無論是普通的軟件還是游戲都是這樣。
計算機為什么是二進制的?
眾所周知,現在的計算機都是以二進制存儲和運算數據的,那么為什么是二進制而不是常見的十進制呢?
原因很簡單,因為現在的計算機是電子計算機,內部只有兩個狀態,所以就依據這兩個狀態創建了一種新的進制形式——二進制。這樣極大的簡化了電子計算機的結構,可以用電流的有無、光線的有無以及磁性的有無等狀態來實現數學上的二進制。數學上用 0 和 1 來分別代表這兩個狀態罷了。
當然,隨著科學的發展,以后計算機不再是電子計算機了,那么二進制也可能就消失了。
計算機存儲單位
既然計算機是電子計算機了,那么存儲的最小單位就是一個二進制位,英語是 bit,簡寫成 b. 一位只有 2 個值,0 或者 1. 由于位的單位太小,所以就設計了另外一個概念——字節,英語是 byte,簡寫成 B. 規定 1 個字節是 8 位,即 1B=8b. 比如大家接觸的 8 位機、16 位機等等,就是指 CPU 一次處理的最小的數據單位。
再大點的單位就依次是 KB、MB、GB 和 TB 了,他們之間的進制都是 2 的 10 次方,也就是 1024,也就是 1KB=1024B,1MB=1024KB. 這里簡單的說一個實際問題,大家買硬盤的時候,比如 160GB,這里廠商使用的進制是 1000,而不是 1024,所以 160 個 GB 格式化以后就大概只有:(160 X 1000 X1000 X1000)/ 1024/1024/1024 = 149GB
Java 編程那些事兒——進制的概念
Java, Java 培訓, Java 基礎, Java 學習, Java 教程
1.2 進制的概念
因為不可能為每個數值都創造一個符號,所以需要用基本數字組合出復合的數值,這樣就有了進制的概念。
其實所有進制都是人為的創造,都是用來計數方便的。現在最常用的進制是十進制,當然其它的進制也在使用中。例如“半斤八兩”這個成語,就反映了古代一斤等于十六兩的概念,也就是十六進制計數方式。
計算機編程中常用的進制有二進制、八進制、十進制和十六進制,十進制還是最主要的表達形式。在編程中,大家書寫的數值默認為十進制。
對于進制,有兩個最基本的概念:基數和運算規則。
l 基數基數指一種進制中組成的基本數字,也就是不能再拆分的數字。例如十進制是 0 -9,二進制是 0 和 1,八進制是 0 -7,十六進制是 0 -9,A-F(大小寫均可)。或者可以簡單的這樣記憶,假設是 n 進制的話,基數就是 [0,n-1] 的數字,基數的個數和進制值相同,十進制有十個基數,依次類推。
l 運算規則運算規則就是進位或借位規則,這個類似于一般計算機書籍中位權的概念,例如對于十進制來說,該規則是“滿十進一,借一當十”,也就是低位的數字滿十了向高位進一,從高位借到的一,相當于低位上的十。其它的進制也是這樣,對于二進制來說,就是“滿二進一,借一當二”,八進制和十六進制也是這樣。
在數學上表示一個數字是幾進制,通常使用如下格式:[數值]進制數,例如[10]2 表示二進制數值 10. 1.2.1 二進制二進制是計算機內部數據表示的形式,所以學習計算機編程必須熟悉二進制。熟悉二進制有以下幾個用途:l 更容易理解計算機的數據存儲方式計算機內部的很多轉換,例如數據類型之間的強轉,都可以用二進制解釋最終的結果的值。
1.2.1 二進制
的運算速度高二進制的運算速度比十進制高的多。例如求 2 的 n 次方,通過移位實現的效率比數學方法高效。
l 使用二進制數值進行數據存儲以二進制的形式存儲數值,一個是比較節約資源,可以使用二進制的位來存儲信息,例如常見的硬件控制信息,都是二進制的形式進行提供的。
如前所述,二進制包含 0 和 1 兩個基數,運算規則是“滿二進一,借一當二”,下面簡單的介紹一下二進制的計數方式。
例如十進制的 0 - 9 用二進制進行表達,則依次是:0,1,10,11,100,101,110,111,1000,1001 說明:數值之間使用逗號進行間隔。
下面是二進制的一些基本運算結果:
加法運算
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
減法
0 – 0 = 0
0 – 1 = -1
1 – 0 = 1
1 – 1 = 0
乘法
0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1 l
除法
0 / 0 無意義
0 / 1 = 0
1 / 0 無意義
1 / 1 = 1
以下是一些符合的表達式:110 + 111 = 1101 這些基本的運算結構在實際開發中一般不會直接用到,但是通過這些內容可以加深對于二進制概念的理解。
1.2.2 二進制和十進制之間的轉換
由于計算機內部的數據是以二進制進行表達的,而十進制又是日常生活中最常用的進制,所以它們之間經常需要進行轉換。下面介紹一下轉換的方式。
1.2.2.1 十進制轉換為二進制
十進制整數轉換為二進制有三種方法,分別是除二取余、計算器轉換和經驗法。十進制小數的轉換方法最后做簡單的介紹。
1. 除二取余法除二取余法是轉換時的最基本方法,也是最通用的方法。規則為:使用十進制和 2 去除,取每次得到的商和余數,用商繼續和 2 相除,直到商為零為止,第一次得到的余數作為二進制的低位,最后一次得到的余數作為二進制的高位,由余數組成的數字就是轉換后二進制的值。例如十進制的 13 轉換為二進制的計算步驟如下:
商 余數
13 / 2 = 6 1
6 / 2 = 3 0
3 / 2 = 1 1
1 / 2 = 0 1
則計算的最終結果就是 1101. 2.
計算器轉換
Windows 操作系統中的計算器也可以很方便的實現進制之間的轉換。在程序菜單中附件子菜單中打開計算器,從打開的計算器的查看菜單中,選擇“科學型”,輸入你要轉換的十進制的數字,例如 13,然后界面上數字顯示框西側的“二進制”,則轉換后的數值就直接顯示在計算器中。
經驗法
對于二進制熟悉以后,那么計算十進制對應的數字可以通過一些基本的數學變換來實現,在使用經驗法以前,必須熟記 2 的 0 -10 次方對應的十進制的值,依次是:1,2,4,8,16,32,64,128,256,512,1024 則轉換一些特殊的數字時可以極大的提高轉換速度,例如數字 65,則可以這樣轉換:65 = 64 + 1 64 對應的二進制形式為 1000000 1 對應的二進制形式為 1 則 65 的二進制形式為 1000001 這個只適合轉換一些特殊的數字,適應性沒有除二取余法廣泛。
十進制小數的轉換采用的一般方法是乘二取整法,規則為:對于小數部分先乘二,然后獲得運算結果的整數部分,然后將結果中的小數部分再次乘二,直到小數部分為零為止,則把第一次得到的整數部分作為二進制小數的高位,后續的整數部分作為地位就是轉換后得到的二進制小數。需要說明的是,有些十進制小數無法準確的用二進制進行表達,所以轉換時符合一定的精度即可,這也是為什么計算機的浮點數運算不準確的原因。
例如 0.25 轉換為二進制小數的步驟如下:整數部分 0.25 × 2 = 0.5 0 0.5 × 2 = 1.0 1 則 0.25 轉換為二進制小數為 0.01 如果一個十進制數字既有整數部分,也有小數部分,則分開進行轉換即可。
1.2.2.2 二進制轉換為十進制
二進制轉換為十進制采用的方法是:數字乘位權相加法。下面先以十進制為例來說明該方法,例如十進制數字 345 的值,5 的位權是 1,4 的位權是 10,3 的位權是 100,則有如下表達式成立:345=5 × 1 + 4 × 10 + 3 × 100,這就是數字乘位權相加法的原理。
其實對于十進制整數的位權很有規則,從右向左第 n 位的位權是十的(n-1)方,例如個位是 10(1-1),十位是 10(2-1),依次類推。那么二進制整數的位權規律和這個一致,也就是從右向左第 n 位的位權是二的(n-1)方。
例如二進制整數 1011 轉換為十進制的表達式為:[1011]2 = 1 × 20 + 1 × 21 + 0 × 22 + 1 × 23 = 1 + 2 + 0 + 8=11 而對于二進制的小數,也是采用一樣的方法,只是二進制小數的位權規則為,小數點后第一位小數的位權是 2 的 - 1 次方,第二位是 2 的 - 2 次方,依次類推。
例如二進制小數 0.1101 轉換為十進制小數的表達式為[0.1101]2=1 ×2-1 + 1 ×2-2 + 0 × 2-3 + 1 × 2-4 = 0.5 + 0.25 + 0 + 0.0625=0.8125 同理,如果二進制包含整數和小數部分,則分開進行轉換即可。
1.2.3 二進制和八進制、十六進制之間的轉換
雖然二進制是計算機內部的數據表達形式,但是由于二進制基數太少,則導致數字比較長,為了簡化數字的書寫,就創建了八進制和十六進制。八進制和十六進制就是對二進制的簡化,所以二進制到八進制和十六進制的轉換非常簡單。
二進制整數轉換為八進制的方法是“三位一并”,也就是從右側開始,每 3 位二進制數字轉換為八進制的一位,依次類推,因為二進制的三位數字可以表達的區間是 000-111,剛好和 0 - 7 重合。例如:二進制的 10111 轉換為 8 進制為:最后三位 111 轉換為 7,前面的數字 10 轉換為 2,則轉換后得到的八進制數字為 27. 二進制整數轉換為十六進制的方法是“四位一并”,例如 10111 轉換為十六進制是 0111 轉換為 7,1 轉換為 1,則轉換后得到的十六進制數字是 17. 二進制小數轉換為八進制的方法也是“三位一并”,只是轉換時從小數的高位開始,也就是小數的左側開始。例如 0.10111 轉換為八進制是 101 轉換為 5,110 轉換為 6,則轉換得到的八進制小數為 0.56. 需要特別注意的是,小數最后如果不足三位,一定要在后續補零以后再進行轉換。
二進制小數轉換為十六進制的方法也是“四位一并”,只是轉換時從小數的高位開始。例如二進制小數 0.10111 轉換為十六進制小數為,1011 轉換為 b,1000 轉換為 8,則轉換后得到的十六進制是 0.b8. 如果二進制數包含整數和小數部分,則分開進行轉換。
感謝各位的閱讀,以上就是“計算機軟件基本概念與進制的概念是什么”的內容了,經過本文的學習后,相信大家對計算機軟件基本概念與進制的概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!