我來告訴你二進位到底是個什麼東西?

2021-01-11 低調的電腦仔

今天有幾個人跑過來問我,二進位是什麼東西?我心想,你們算是問對人了,於是張口就來,這是一個非常神奇的東西,能讓1+1等於10,瞬間感覺看到他們頭上飄過幾個what?

小便準備先給他們解釋一下官方說法,於是拿出手機百度搜索了一下,二進位是計算機中採用的一種數制,是數字0和數字1來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」。看完之後,不要說他們,就連我都差點一頭霧水。最後決定還是按照我自己的思路給他們講解吧!

先看一下我們常用的數字,也就是書面上說的十進位,以一個大家喜歡的數字168吧,一路發!為什麼說它是十進位數呢,細心一點可以發現它是用數字0到數字9十個數字來表示的一個數,同樣的從這裡我們也可以認為二進位數就是用數字0和數字1兩個數字來表示的數,例如101,事實證明也並無毛病。

168,國語說法是一百六十八,在小學數學裡它的意思是個位是8,十位是8,百位是1,它的結果可以用一條數學來表示,即168=1×100+6×10+8×1。也可以換一種比較方便理解的方式來表示,即168=1×102+6×101+8×100,其實這就是十進位數168轉化為十進位數的過程。用上面同樣的辦法我們來嘗試將二進位數轉化為十進位數,就以101為例。按照小學裡學的辦法二進位數101=1×22+0×21+1×20=4+0+1=5,5就是二進位數101轉化為十進位數的結果。

看到這裡,是不是感覺有點似懂非懂的感覺。可以先休息一下,接下來我們來點難度高一點的就是把方向調過來,十進位數轉化為二進位數是怎麼計算的。

同樣的對比方法,先看一下十進位數168是怎麼轉化為十進位數的?剛才用了乘法,那這裡就是用除法了,先用168÷10=16餘8,再16÷10=1餘6,最後1÷10=0餘1;這時候它的結果應該是從後往前看餘數就是168,這裡要注意的是一定要到商0餘1為止。接下來就是十進位數5轉化為二進位數,先用5÷2=2餘1,再2÷2=1餘0,最後1÷2=0餘1,從後往前看餘數是101,這就是十進位數5轉化為二進位數是101。

以上為個人經驗,不知道你們看懂了沒有。

相關焦點

  • 二進位、八進位和十六進位之間轉換
    我們不妨將思維拓展一下,既然可以用 0~9 共十個數字來表示數值,那麼也可以用0、1兩個數字來表示數值,這就是二進位(Binary)。例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。
  • 什麼是二進位,這裡讓你通俗易懂
    關於計算機的二進位,首先來想想我們日常使用的十進位。那麼為什麼我們日常要使用十進位呢?其實看看你的雙手,一共有幾根手指?是不是一共十根?那麼10 代表的就是一雙手的手指的數量。但是到了計算機裡這種數值表述方式就麻煩了,如果我們要在計算機保存十進位數值那麼,計算機得有能力用某種形式描述出至少10種狀態才行也就是0到9。那麼想像一下要是我們每隻手只有3個手指,那麼如果10 依舊代表一雙手(六根手指),此時12相當於一雙手加兩個手指 也就是「八」。這種計數方式我們可以稱為6進位。那麼234這個數值在六進位裡代表什麼呢?
  • 計算機二進位數據是什麼,和十進位有什麼區別?還有其他的進位嗎
    大家好,我是阿戴,歡迎到我的地盤,作為一名計算機愛好者,期待更多人了解編程,期待每一篇文章都能夠讓你增加知識,如果喜歡,請關注、轉發,謝謝。在看科技電影或電視劇的過程中,我們經常看到這樣的畫面,電腦屏幕上在快速閃爍著大量的數字0和1,感覺非常神秘、非常高大上的樣子。
  • 二進位,八進位,十進位,十六進位之間的轉換
    什麼是二進位二進位是計算技術中廣泛採用的一種數制。二進位數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位系統,數據在計算機中主要是以補碼的形式存儲的。
  • 計算機二進位祖宗是西方人?中國道教一張八卦圖千年前早已解釋!
    我都用它推導出萬有引力來了,還有什麼事情十進位搞不定?萊布尼茨心裡也正窩著火呢,PK就PK,關於微積分的事情,你丫多次「洗我的稿」還沒時間找你呢,正好一起算總帳。PK正式開始: 牛頓:你丫憑什麼說二進位比十進位更簡潔?萊布尼茨:上帝只用二根手指就可以搞定一切。牛頓:你確定兩根手指可以演算世間萬物?
  • 程式設計師的情商:二進位電腦能識別,十進位人易懂,十六進位能做啥
    程式設計師的情商:二進位電腦能識別,十進位人易懂,十六進位能做啥?假如你有一個程式設計師的女朋友,突然給你發了一串數據(68656c6c6f 62616279),你知道什麼意思嗎?該怎麼回她呢?計算機專業的同學,在學習編程中,尤其是初學者,經常有這樣的疑問,一般人只認識十進位(520),電腦只能識別二進位(1000001001),那十六進位(208)能做什麼的?為什麼還要在中間加上一個十六進位呢,是不是多此一舉嗎?本來初學編程,對二進位就不熟悉,要花不少時間和理解來學習理解,在學個十六進位不是很多餘嗎?
  • 為什麼電腦採用二進位?十進位究竟代表人腦的進化還是退化?
    計算機在計算的時候是這樣操作的,人們輸入一個十進位數據,計算機將十進位數據轉化為二進位數據,再對這個二進位數據進行運算,得出一個二進位數據的結果,最後再把二進位數據的結果轉化為十進位數據的結果。看上去好像更複雜了,但對於大數據的複雜運算,這樣操作的速度是要遠遠高於直接用十進位數據來運算的,只是計算機為了適應人類十進位的習慣,才多轉化了兩次而已。其實,我國古代很早就有二進位的意識。
  • [洛穀日報第79期]二進位與位運算
    接下來介紹一下二進位數對於二進位數,首先要知道二進位是什麼。類似於十進位,二進位也是一種進位(廢話),但二進位運算遵循的規則是「進二」而不是我們熟悉的「進十」。「<<」 「>>」 運算首先,在這裡這東西跟 cin cout 沒有什麼關係。在二進位運算中,這東西叫做「左移」「右移」運算,顧名思義,就是將一個二進位數向左或向右移動 k 位,就是給一個數乘 2^k 或者除 2^k (末尾1不計)。那麼這東西有什麼用呢?
  • 來聊聊那個讓你魂不守舍的【TDI】到底是個什麼東西
    那麼異氰酸酯到底是個什麼東西?    TDI是怎樣讓你夜不能寐的?    他們之間有著怎樣不可告人的關係?    小編今天就帶你來一探究竟    異氰酸酯是個什麼東西?     異氰酸酯是異氰酸的各種酯的總稱,是聚氨酯樹脂合成的重要原料。
  • scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)
    /關(通/斷)」(即0/1)兩種情況,這與誕生幾千年的二進位不謀而合;例如:二進位數字110,表達的就是十進位中的6;二進位數字1111,表達的就是十進位中的15。不要懵,其實聯眾東西本質是一樣的,只是表達方式不同罷了,中國話和外國話的區別吧。我們來看表:以上表格就是0-16的表達對照大家有沒有發現這樣的規律呢?
  • 二進位、十進位和十六進位
    持續更新中······最新隆重推出「作品定製」,定製方法點擊菜單欄「DIY」即可進位,看似很簡單的東西,但很多同學還是不能徹底理解。這裡先簡單介紹一些注意事項,然後還是從實驗中講解會比較深刻。1) 十進位就不多說了,逢十進位,一個位有十個值: 0 ~ 9,我們的生活中到處都是它的身影。
  • 二進位轉換十進位,十進位轉換二進位
    如果把一個十進位的數轉換成二進位的數 , 直接把數除 以二 , 餘數為一就寫1 , 整除 , 就寫0 , 一直除完為止
  • 演算天體的高智能機器:二進位計算器的超能力有哪些?
    那麼既然是計算機為基礎,那麼它的語言又是什麼呢?那就是二進位,今天恐龍哥哥帶大家走進二進位的世界,一起來學習與了解一下吧!我們平時使用的數字是幾進位?答案就是十進位。人類算數採用十進位,可能跟人類有十根手指有關。亞里斯多德稱人類普遍使用十進位,只不過是絕大多數人生來就有10根手指這樣一個解剖學事實的結果。
  • 二進位的前身是八卦?一起走進10000000000的世界
    你的腦海中是不是已經浮現了↓↓格子顏色深淺也許代表二進位的0和1?我們經常好奇,程式設計師每天坐在電腦前看著一串串的代碼,這些代碼到底寫的是什麼?從事程式設計師工作的人有很多,大體上有十幾種,每一種工作內容都有不同:C程式設計師、C++程式設計師、Python程式設計師、vb程式設計師、java程式設計師......
  • 你知道什麼是二進位嗎?先看看你能看懂這句話嗎?
    看到這句話,有的人表示疑惑,到底是10種人還是2種人呀,這句話前後矛盾呀。感到疑惑的小夥伴們繼續往下看。我們平時數學上學習的都是十進位,我們都習以為常。其實二進位也是一樣的,十進位是逢十進一,二進位顧名思義就是逢二進一。
  • 二進位與周易八卦太像了,但用二進位算命準確率竟然是100%
    陰陽變化出了八卦,電腦最開始也是先由八進位進行工作的。發展到《周易》這本書成了64卦,而我們現在用的作業系統幾乎也都是64位的。我們再看定義,ASCII碼中111定義為BEL(響鈴),八卦中111定義為乾,從這裡開始就不一樣了。周易八卦流傳最廣的是算命,但準確率並不高,約70%,孔子都說吾百佔而七十當,可見這個作業系統從一開始就是一個不精確的東西。
  • JS十進位轉換二進位
    最近因為需求,要接觸到前端JS的一些東西,遇到需要把十進位數字轉換為二進位,並且補全對應位數,覺得蠻有趣的,所以把它記錄下來。十進位轉二進位方法其實很簡單,一個函數搞定了:var value = parseInt(12).toString(2);//parsetInt裡面是要轉換的數字,toString裡面是要轉換的進位,//如果要轉換為其他進位,替換掉就好了,so easy。
  • scratch製作「二進位轉十進位」
    我們之前學習並製作過「十進位轉二進位」的小程序:如圖:學生作品2「十進位轉二進位」接下來我們製作「二進位轉十進位」的小程序。樣例輸入:11011樣例輸出:27方法1,從前向後遍歷新建變量:二進位,用於存儲回答中輸入的二進位數字長度,輸入二進位數字的長度(scratch相對簡單,不用區分變量的類型)十進位,初始化為0,用於累加轉換好的數字和最後的輸出。
  • 介紹一種二進位轉換成十進位的方法
    二進位如何轉換成十進位二進位轉換為十進位的簡便方法。
  • 為何人類都用十進位計數?關於二進位,八進位……你又了解多少?
    十個指頭慢慢滿足不了要求,聰明的人類就學會了用逢十進位這種方式依然用我們原始的工具手來達到更大數目的計算。十進位就這樣一代傳一代逐漸被整個人類社會使用。實際上,在古代世界獨立開發的有文字的計數體系中,除了巴比倫文明的楔形數字為60進位,瑪雅數字為20進位外,幾乎全部為十進位。