日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一文带你读懂计算机进制

發布時間:2024/7/23 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文带你读懂计算机进制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hi,大家好,我是開發者FTD。在我們的學習和工作中少不了與進制打交道,從出生開始上學,最早接觸的就是十進制,當大家學習和使用計算機時候,我們又接觸到了二進制、八進制以及十六進制。那么大家對進制的認識和使用是否很清楚呢?今天我就帶大家一起深入了解一下計算機中的進制。

進制簡介

進位制其實是一種記數的方式,所以也稱為進位記數法/位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數(英文:radix)或底數,基數為n,即可稱n進位制,簡稱n進制。例如平常生活中我們經常用到的十進制,就是使用10個阿拉伯數字0-9進行記數,所以它的基數就是10,稱為十進制。

在計算機的世界里,計算機語言就是二進制,計算機能直接識別二進制數據,其它數據都不能直接識別。

對于任何一個數,我們可以用不同的進位制來表示,他們是等價的,只是表示形式不同而已。

例如:對于十進制數 2021,分別用不同機制表示如下:

  • 十進制表示為:

2021102021_{10} 202110?

  • 二進制表示為::

11111100101211111100101_{2} 111111001012?

  • 八進制表示為:

374583745_{8} 37458?

  • 十六進制表示為:

7e5167e5_{16} 7e516?

右下標數字代表了是幾進制,雖然表示形式不同,不過它們所代表的數值都是一樣的,均為2021。

常用的進制

大家都知道,計算機是由二進制組成的,除了我們最常用的十進制外,計算機中常用的進制有二進制、八進制和十六進制。下面我們就分別介紹一下。

十進制

十進制是大家最容易理解的進制,由于有一些天然的因素,比如我們的雙手總共有十根手指,所以在人類自發采用的進位制中,就很自然的使用了十進制作為主流的計數方法,而且大部分人從小接受的教育都是掌握十進制的計數方法,所以十進制幾乎已經深深的烙印在我們的腦海中了。

十進制有10個基本數字,分別為 0、1、2、3、4、5、6、7、8、9,十進制的基數為10,運算規則為”逢十進一”;

十進制的表示方法有兩種,使用下標或者后綴D,例如:
2021102021_{10} 202110?
或者在數字后面加上后綴D,如: 2021D

當然由于十進制在日常生活中非常普遍,通常我們可以直接使用數字來表示,默認就是十進制數。

二進制

二進制由于表示簡單,運算簡單等特點,是計算機技術中廣泛采用的一種數制,二進制由兩個基本數字組成,分別為0、1,運算規則為”逢二進一”。

為了區別于其他進制,二進制的表示方法也有兩種,使用下標或后綴B,例如:
11111100101211111100101_{2} 111111001012?
或者在數字后面加上后綴B,如:11111100101B

二進制的特點有

  • 二進制數中只有兩個數碼0和1,可用具有兩個不同穩定狀態的元器件來表示一位數碼。

  • 二進制數運算簡單,大大簡化了計算中運算部件的結構。

  • 二進制天然兼容邏輯運算。

  • 八進制

    八進制有8個基本數字,分別為0、1、2、3、4、5、6、7,運算規則為”逢八進一”。

    由于二進制數據的基數R較小,所以二進制數據的書寫和閱讀不方便,為此,在小型機中引入了八進制。八進制的基數n=8=2^3,并且每個數碼正好對應三位二進制數,所以八進制能很好地反映二進制。

    八進制也有兩種表示方法,使用下標或后綴O,例如:
    374583745_{8} 37458?
    或者在數字后面加上后綴O,如:3745O

    另外一個八進制數,可以用3個二進制數來表示。例如:
    37458=01111110010123745_{8} = 011111100101_{2} 37458?=0111111001012?

    十六進制

    十六進制的引入同樣是因為二進制數在實際使用中因為位數太長,不容易記憶才提出了十六進制數。

    十六進制有16個基本數字,分別為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,運算規則為”逢十六進一”。

    十六進制有兩種表示方法,使用下標或后綴H,例如:
    7e5167e5_{16} 7e516?
    或者在數字后面加上后綴H,例如:7e5H

    一個十六進制數,可以用4位二進制數來表示。例如:
    7e516=01111110010127e5_{16} = 011111100101_{2} 7e516?=0111111001012?

    補充小知識-進制的中英文表示:
    • Binary - 二進制

    • Octal - 八進制

    • Hexadecimal - 十六進制

    • Decimal - 十進制

    看完之后是不是知道后綴的字母是什么含義了吧

    下面這個表格有助于我們理解各個進制之間的關系:

    10進制012345678910111213141516
    2進制0110111001011101111000100110101011110011011110111110000
    8進制01234567101112131415161720
    16進制0123456789ABCDEF10

    進制轉換

    我們在上面了解了常用的進制,后面在實際工作中我們可能會在不同的場景下用到不同的進制表示,這就涉及到進制的轉換了,那么我們介紹一下常用的進制是如何進行轉換的。

    1、二進制與十進制之間的轉換

    十進制轉二進制

    計算方法:十進制數除2取余法,即十進制數除2,余數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。最后讀數時,從最后一位讀起。

    例如:

    十進制數:2021 轉二進制后,二進制數為: 11111100101B

    計算過程如下:

    第N次十進制數 2021商余數
    第1次2021 / 210101
    第2次1010 / 25050
    第3次505 / 22521
    第4次252 / 21260
    第5次126 / 2630
    第6次63 / 2311
    第7次31 / 2151
    第8次15 / 271
    第9次7 / 231
    第10次3 / 211
    第11次1 / 201

    計算完成后,從最后一位讀起,最后結果為:11111100101B

    二進制轉十進制

    計算方法為:把二進制數按權展開,相加既得十進制數。

    例如:

    二進制數:11111100101B 轉十進制后,十進制數為: 2021

    計算過程如下:

    二進制11111100101
    位數109876543210
    公式2^102^92^82^72^62^50 * 2^40 * 2^32^20 * 2^12^0
    結果1024512256128643200401

    最后將每一位計算結果相加,即
    210+29+28+27+26+25+(0?24)+(0?23)+22+(0?21)+20=1024+512+256+128+64+32+0+0+4+0+1=20212^{10} + 2^9 + 2^8 + 2^7 + 2^6 + 2^5 + (0*2^4) + (0*2^3) + 2^2 + (0*2^1) + 2^0 = 1024 + 512+256+128+64+32+0+0+4+0+1 = 2021 210+29+28+27+26+25+(0?24)+(0?23)+22+(0?21)+20=1024+512+256+128+64+32+0+0+4+0+1=2021
    最后計算結果為:2021

    2、二進制與十六進制之間的轉換

    十六進制轉二進制

    計算方法:十六進制數通過除2取余法,得到二進制數,對每個十六進制數為4個二進制數,不足時在最左邊補領。

    例如:

    十六進制數:7e5H 轉二進制后,二進制數為:011111100101B

    計算過程如下:

    首先,將十六進制7e5數分成三部分7、e、5,分別做除2取余:

    第N次十進制數 7商余數
    第1次7 / 231
    第2次3 / 211
    第3次1 / 201

    7 轉換為二進制數得 0111,不足四位,前面補零。

    第N次十進制數 14 (e 的十進制數)商余數
    第1次14 / 270
    第2次7 / 231
    第3次3 / 211
    第4次1 / 201

    e 轉換為二進制為:1110

    第N次十進制數 5商余數
    第1次5 / 221
    第2次2 / 210
    第3次1 / 201

    5 轉換為二進制為:0101,不足四位,前面補零。

    最后計算結果為:011111100101B

    二進制轉十六進制

    計算方法:4位二進制數按權展開相加得到1位十六進制數。注意,4位二進制數轉成十六進制數是從右到左開始轉換,不足時補0。

    例如:

    二進制數:011111100101B 轉十六進制后,十六進制數為: 7e5H

    計算過程如下:

    首先將二進制數按每4位進行分隔,得到 0111,1110,0101,然后分別計算十六進制數

    二進制0111
    位數3210
    公式0 * 2^32^22^12^0
    結果0421

    0?23+22+21+20=0+4+2+4=70 * 2^3 + 2^2 + 2^1 + 2^0 = 0+4+2+4=7 0?23+22+21+20=0+4+2+4=7

    0111 轉換為十六進制為 7

    二進制1110
    位數3210
    公式2^32^22^10 * 2^0
    結果8420

    23+22+21+0?20=8+4+2+0=142^3 + 2^2 + 2^1 + 0 *2^0 = 8+4+2+0=14 23+22+21+0?20=8+4+2+0=14

    0111 轉換為十六進制為 e

    二進制0101
    位數3210
    公式0 * 2^32^20 * 2^12^0
    結果0401

    0?23+22+0?21+20=0+4+0+1=50 * 2^3 + 2^2 + 0 * 2^1 + 2^0 = 0+4+0+1=5 0?23+22+0?21+20=0+4+0+1=5

    0101 轉換為十六進制為 5

    最后計算結果為:7e5H

    3、十進制與十六進制之間的轉換

    十六進制轉十進制

    計算方法為:把十六進制數按權展開,相加既得十進制數。

    例如:

    十六進制數:7e5H 轉十進制后,十進制數為: 2021

    計算過程如下:

    十六進制數7e5
    位數210
    公式7 * 16^214 * 16^15 * 16^0
    結果17922245

    7?162+14?161+5?160=1792+224+5=20217 * 16^2 + 14 * 16^1 + 5 * 16^0 = 1792 + 224 + 5 = 2021 7?162+14?161+5?160=1792+224+5=2021

    最后計算結果為:2021

    十進制轉十六進制

    計算方法:十進制數除8取余法,即十進制數除8,余數為權位上的數,得到的商值繼續除8,依此步驟繼續向下運算直到商為0為止。最后讀數時,從最后一位讀起。

    例如:

    十進制數: 2021 轉十六進制后,十六進制數為: 7e5H

    計算過程如下:

    第N次十進制數 2021商余數
    第1次2021 / 161265
    第2次126 / 16714
    第3次7 / 1607

    計算完成后,從最后一位讀起,最后結果為:7e5H

    總結

    通過上面的介紹和例子,相信大家已經對進制有了深刻的認識和理解,一旦你搞懂他們之間的關系,將對我們在工作中遇到的很多疑問就會迎刃而解,也讓我們在處理問題上變的更游刃有余。希望上面的講解能對大家有所幫助,如果有任何這些方面的疑問,歡迎留言騷擾。

    技術人,技術魂,每天肝一篇技術文,ヾ(?°?°?)ノ゙哈哈~

    關于作者
    • GitHub:https://github.com/ForTheDevelopers
    • 掘金:https://juejin.cn/user/1204720472953022
    • CSDN:https://blog.csdn.net/ForTheDevelopers
    • 知乎:https://www.zhihu.com/people/forthedevelopers
    • segmentfault:https://segmentfault.com/u/for_the_developers
    聯系作者
    • 微信號:ForTheDeveloper

    • 公眾號:ForTheDevelopers

    總結

    以上是生活随笔為你收集整理的一文带你读懂计算机进制的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。