採用八進位制和十六進製制的用處,只有二進位制和十進位制不就可以處理問題了嗎

2021-03-19 18:00:04 字數 5893 閱讀 5982

1樓:

作個膚淺的回答:

如果計算機只是計算數字,那你說得完全正確——二進位制機器用,十進位製人用——就已很完美了。可是計算機不是只用來計算資料的,可以說計算是計算機很少的一部分工作,多數情況是用在自動控制和模擬場景方面。在這些方面程式設計者要關心資料每一位的變化情況,而不是資料的準確與大小;就是說要關心二進位制資料的一位一位的情況。

但二進位制資料書寫非常不方便,資料大時還往往出錯。這不,十六進製制就為我們提供了極大的方便,既大大簡化了輸入,又不失二進位制的本來面貌。八進位制也是如此,在某些場合很需要,同樣也極大改善了輸入效率又不失二進位制本色,當然日常生活中少見些。

如果只從計算機考慮,十進位制完全沒有必要,可是人是用十進位制的,這沒有辦法捨棄!一定發現了吧?二進位制、八進位制、十六進製制的轉換是非常方便的:

把二進位制每3位一隔,用0~7八個字元按順序寫出來就是八進位制;每四位一隔,用0~9和a~f十六個字元代表了也就是十六進製制了;要把它們變回二進位制呢?把隔開的點摖掉就可以了……唯獨這十進位制,轉換起來麻煩多了!

計算機要處理資訊,就離不開通訊。數字通訊要編碼,也是要關心二進位制每一位的,若用十進位制表示簡直就無法想象;只用二進位制呢?研究起來也難以承受;好在有十六進製制和八進位制為我們做簡化工作……

大量精巧的控制程式是用組合語言編寫的——二進位制太麻煩,十進位制又叫人看得雲裡霧裡,八進位制、十六進製制在這裡可就大顯身手了…… 舉個最簡單例子:「a=a&0xf0;」人們一看就是將變數a低4位被遮蔽掉,會造成什麼結果程式設計師已心中有數;可你看「a=a&240;」儘管效果完全一樣,可人們未必一下就清楚了吧……

這樣看來,八進位制、十六進製制主要是對二進位制的一種簡便表示法!為了某種需要,人們可以構造出基數大於2的任何數制來!

老早就有一種說法,說人類採用十進位制記數,是因為有十個指頭。這恐怕有一定的道理。我就想,如果當初人類只進化出了8個指頭,說不定就用八進位制記數了,那與今天的計算機就不謀而合了。

真是的,多長了兩個指頭帶來了多少麻煩——幾乎天天有人求助十進位製到其他進製的轉換或與之相反!

2樓:雨愛蘭

存在即合理,既然被使用肯定有它的長處啊

計算機有二進位制和十進位制,為什麼還要搞個八進位制,十六進製制?

3樓:哎喲

這是由於降低成本使得數字允許通過數碼管,七段顯示器,和計算器用於操作員控制台。

八進位制廣泛應用於計算機系統,如pdp-8,icl 1900和ibm大型機使用12位、24位或36位。八進位制為這些基礎,因為他們的最理想的二進位製字縮寫大小能被3整除(每個八進位制數字代表三個二進位制數字)。

四、八到十二個數字可以簡明地顯示整個機器,也降低成本使得數字允許通過數碼管,七段顯示器,和計算器用於操作員控制台,在二進位制顯示使用過於複雜,然而十進位制顯示需要複雜的硬體,十六進製制顯示需要顯示更多的數字。

4樓:匿名使用者

十進位制計數法是相對二進位制計數法而言的,是我們日常使用最多的計數方法。計算機內部使用二進位制表示數,二進位制與十進位制的轉換是比較複雜的。

由於二進位制資料的基r較小,所以二進位制資料的書寫和閱讀不方便,為此,在小型機中引入了八進位制。八進位制適用於12位和36位計算機系統(或者其他位數為3的倍數的計算機系統)。

由於二進位制數在使用中位數太長,不容易記憶,所以又提出了十六進製制數。比較短容易記憶且適於大部分位數為二的冪(8位,16位,32位與64位計算機系統)的計算機系統。

5樓:匿名使用者

計算機只有2進製

。十進位制、十六進製制、八進位制是為了使用方便。

十進位制是最符合人類自然計數方式的一種進製。

八進位制基本被淘汰。

十六進製制可以用兩位正好描述乙個位元組(8位2進製),故在計算機彙編級程式設計時大量使用。

注:inter 系列 cpu支援 加減結果的十進位制調整,使用bcd碼。(用4位二進位制數來表示1位十進位制數中的0~9這10個數碼,簡稱bcd碼,即bcd**。

binary-coded decimal‎,簡稱bcd,稱bcd碼或二-十進位制**,亦稱二進碼十進數。是一種二進位制的數字編碼形式,用二進位制編碼的十進位制**。)

6樓:匿名使用者

糾正一下,計算機只有二進位制!!!搞那麼多的進製是為了表示方便

八進位制和十六進製制有什麼用?

7樓:匿名使用者

就是為了簡潔。例如乙個16位的二進位制數1010010111001011,無論寫起來還是讀起來,很費事兒,還容易出錯,寫成十六進製制數a5cd,就方便多了,也不容易出錯。

8樓:匿名使用者

八進位制,

octal,縮寫oct或o,一種以8為基數的計數法,採用0,1,2,3,4,5,6,7八個數字,逢八進1。一些程式語言中常常以數字0開始表明該數字是八進位制。八進位制的數和二進位制數可以按位對應(八進位制一位對應二進位制三位),因此常應用在計算機語言中。

十六進製制(英文名稱:hexadecimal),用於計算機領域的一種重要的數制。對計算機理論的描述,計算機硬體電路的設計都是很有益的。

比如邏輯電路設計中,既要考慮功能的完備,還要考慮用盡可能少的硬體,十六進製制就能起到一些理論分析的作用。比如四位二進位制電路,最多就是十六種狀態,也就是一種十六進製制形式,只有這十六種狀態都被用上了或者盡可能多的被用上,硬體資源才發揮了盡可能大的作用。

十六進製制更簡短,因為換算的時候一位16進製制數可以頂4位2進製數。

9樓:黎約全球

二進位制數書寫冗長、易錯、難記,而十進位制數與二進位制數之間的轉換過程複雜,所以一般用十六進製制數或八進位制數作為二進位制數的縮寫。

進製計數制

按進製的原則進行的計數方法稱為進製計數制。

在採用進製計數的數字系統中,如果用r個基本符號(例如:0,1,2, ,r-1)表示數值,則稱其為基r數制(radix-r number system),r成為該數制的基(radix)。如日常生活中常用的十進位制數,就是r=10,即基本符號為0,1,2, ,9。

如取r=2,即基本符號為0,1,則為二進位制數。

對於不同的數制,它們的共同特點是:

1)每一種數制都有固定的符號集:如十進位制數制,其符號有十個:0,1,2, ,9,二進位制數制,其符號有兩個:0和1。

2)其次都是用位置表示法:即處於不同位置的數符所代表的值不同,與他所在位置的權值有關。

例如:十進位制可表示為:

5555.555 = 5 103 + 5 102 + 5 101 + 5 100 + 5 10-1 + 5 10-2 + 5 10-3

可以看出,各種進製計數制中的權的值恰好是基數的某次冪。因此,對任何一種進製計數制表示的數都可以寫出按其權的多項式之和,任意乙個r進製數n可表示為:

式中的di為該數制採用的基本數符,ri是位權(權),r是基數,表示不同的進製數;m為整數部分的位數,k為小數部分的位數。

"位權"和"基數"是進製計數制中的兩個要素。

在十進位計數制中,是根據"逢十進一"的原則進行計數的。一般地,在基數為r的進製計數制中,是根據"逢r進一"或"逢基進一"的原則進行計數的。

在微機中,常用的是二進位制、八進位制和十六進製制。其中,二進位製用得最為廣泛。

表2所示的是計算機中常用的幾種進製數制。

誰能幫我解釋一下計算機的二進位制,十進位制,八進位制和十六進製制?

10樓:晴天射手

十進位制就是我們平時所使用的進製了,也就是逢十進一,二進位制類似,逢二進一。其他同理。

雖然我們習慣使用十進位制,但幾乎所有的計算機採用的都是二進位制,所有的外界資訊只有被轉換為二進位制才能被計算機儲存處理。由於2的三次方就是8,四次方是16,用二進位制表示乙個資料時有時會過於龐大不便於人工使用換算,所以採用八進位制和十六進製制,可以很方便的轉化為二進位制又利於人工使用。

怎麼區別十進位制,二進位制,八進位制和十六進製制?

11樓:龍優瑗衛倚

什麼進製就會逢什麼進1如8進製就是逢8進1也就是說只能用0-7表示8進製的數。可以參考

12樓:旅妙婧弭進

二進位制就是逢2進1,都是1和0.

八進位制就是逢8進1,都是0~7的數字,到8就進1位,十六進製制就是逢16進1,是0~9數字和a~f字母組成,a=10,b=11,c=12,d=13,e=14,f=15.

x除2取餘數比如137

1137068

034117

0804

0211

把第一排的數倒過來寫就行了10001001第一排數是第二排數字除2的餘數

轉化為八進位制,十六進製制,就把2改為8和16就行了或者用十進位制轉為二進位制後再轉為八

或十六八進位制只要取二進位制的3位算一下就行了十六進製制就取4位二進位制數【100011001】=八進位制數【(100)(011)(001)】=八進位制數【431】

=十六進製制數【(1)(0001)(1001)】=十六進製制數【119】

十進位制與二進位制有什麼區別?

13樓:不咩

十進位制跟二進位制的區別:

1、基數不同

前者滿10進1,後者滿2進1;

2、有效字元不同

前者有效字元有10個:0,1,2,3,4,5,5,6,7,8,9;後者有效字元有2個:0,1

3、用途上

計算機只能用二進位制儲存和運算,在設計程式時二進位制不容易讀,所以可以採用八進位制和十六進製制來幫助程式設計,計算機再翻譯成二進位制數來用。計算機程式設計比較常用的是:十進位制、二進位制、八進位制、十六進製制,其中八進位制也用得比較少。

二進位制轉十進位制

要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右

例如:二進位制數1101.01轉化成十進位制

1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)

所以總結起來通用公式為:

abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)

十進位制整數轉換為二進位制整數

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進位制的最後一位。

或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

擴充套件資料

1、十六進製制

由於二進位制數在使用中位數太長,不容易記憶,所以又提出了十六進製制數。

十六進製制數有兩個基本特點:它由十六個數碼:數字0~9加上字母a-f組成(它們分別表示十進位制數10~15),十六進製制數運算規律是逢十六進一,即基數r=16=2^4,通常在表示時用尾部標誌h或下標16以示區別,在c語言中用新增字首0x以表示十六進製制數。

例如:十六進製制數4ac8可寫成(4ac8)16,或寫成4ac8h。

2、六十進位制

古代人由於生產勞動的需要,要研究天文和曆法,就牽涉到時間和角度了。因為曆法需要的精確度較高,時間的單位小時,角度的單位度都嫌太大。必須進一步研究他們的小數。

它們的小數都具有這樣的性質︰使1/2,1/3,1/4,1/5,1/6等都能成為它的整數倍。

以1/60作為單位,就正好具有這個性質。譬如︰1/2等於30個1/60,1/3等於20個1/60,1/4等於15個1/60…這種小數的進製在表示有些數時很方便。例如常遇到的1/3,在十進位制中是乙個無限小數,但在這種進製中就是乙個有限小數。

二進位制,八進位制,十進位制,十六進製制之間的相互轉換方法

這是我自己製作的進製轉換文件 你可以去看看 有詳細的步驟 如果講軟體處理 變數中的值都是以二進位制儲存的,不能用其他進製。如果要輸出為字串,可以用函式轉換。如果講數制表示 我們平時書寫的數僅僅寫出了表示式的係數,是簡寫法。標準書寫如下 比如乙個數寫為 321。十進位制321 3x10 2 2x10 ...

八進位制十六進製制的優點二進位制十進位制八進位制十六進製制各代表的英文本母是什麼

首先,計算機採用二進位制 即0,1 用二進位制 有很多有點,比方說在邏輯運算子中0代表假,非0代表真 在邏輯電路中,0和1各代表導通或者不通 各個電路0和1代表的不一樣 而十進位制顯然沒有這個優點 另外2進製數和8進製數,16進製制數之間轉換相當方便,譬如二進位制轉8進製每三位轉一數,二進位制轉16...

有關二進位制 八進位制 十進位制 十六進製制的問題

先說下十進位制,就是由0,1,2,3,4,5,6,7,8,9為十個數組成的數字,當然0不能放前面的。同樣,八進位制,是由 0 8八個數字組的數字,十六進製制,是由0 9,a,b,c,d,e,f十六個數組成的數字,a f,表示10 15 方法 轉八進位制,其餘類似 由156來作例子。商餘數 156 8...