程式設計師的情商:二進位電腦能識別,十進位人易懂,十六進位能做啥

2020-12-05 天雪道

程式設計師的情商:二進位電腦能識別,十進位人易懂,十六進位能做啥?

假如你有一個程式設計師的女朋友,突然給你發了一串數據(68656c6c6f 62616279),你知道什麼意思嗎?該怎麼回她呢?每天除了寫代碼,就是在學習寫代碼的路上。程式設計師的智商即使不高,應該也算合格的吧,要不然怎麼能與冰冷的機器交流呢。至於程式設計師的情商,那就有待考量了,敬請期待。

程式設計師

今天,聊一下這個輕鬆的話題。計算機專業的同學,在學習編程中,尤其是初學者,經常有這樣的疑問,一般人只認識十進位(520),電腦只能識別二進位(1000001001),那十六進位(208)能做什麼的?為什麼還要在中間加上一個十六進位呢,是不是多此一舉嗎?本來初學編程,對二進位就不熟悉,要花不少時間和理解來學習理解,在學個十六進位不是很多餘嗎?十六進位在執行存儲都要轉換為二進位,十進位同樣是轉換為二進位,那不是無緣無故多了流程出來嗎。

標準ASCII 碼

二進位

每天我們都在使用計算機,每天都可以聽到關於人工智慧,機器深度學習的新聞報導,總感覺人工智慧就要來領導人類歷史進程。其實,回過頭才發現,我們神奇的電腦還是那麼幼稚,就像三歲的小孩,只是認準一樣東西,如果換成別的,就坐地打滾了。計算機在存儲信息,傳輸信息以及操作數據,都是面向二進位的,二進位就是機器語言,並且只認準機器語言,其他的直接無視。所以,不管什麼樣的語言,哪種程式語言都一樣,在存儲執行過程中必須是二進位,輸出來時,就再次轉換成人的語言。因為人類也是死心眼的,怎麼學也學不懂機器語言。一般8位二進位表示一個英文字符。

標準ASCII 碼

十六進位

十進位就不說了,上幼兒園的說話,掰著手指頭數的就是十進位,只有0~9.所表示的數也都是在熟悉不夠了。不過,要注意一點,存粹的數字是沒有意義的,必須在特定的語境中才有意義。單是數字3什麼,有歧義,可以是3個漢字,也可以是3個人,3頭牛,所以,數字要準確表達其意思是跟語境有關聯的。同樣的,二進位,十六進位也是只是數字,其代表的含義也是在特定的執行環境中才能被確定的。那十六進位存在的意義是什麼呢?它就是為了平衡計算機與人類思維的矛盾,起到了一個過渡的作用。十六進位相對與二進位,對於人類來說還是比較好理解記憶的,而對於計算機而言,同樣便於計算轉換,沒有十進位那麼繁瑣,提高了計算機的數據處理性能。簡直是完美。

我的世界你不懂

標準ASCII 碼,是當年美國為了規範文本數據交換,制定了字符轉換規則,使用7位二進位表示已些常用的列印字符和控制符如大小字母,0到9的數字,標點符號。這些字符都是使用7 個二進位對字符進行編碼的。標準ASCII 碼的出現,是影響很大的,他實現了不同計算機硬體與不同系統軟體間的標準化數據傳輸。開頭的數據串就是十六進位(68656c6c6f 62616279),對應的文本就是hello baby。冰冷的數字,瞬間,感動了自己吧!

根據標準ASCII 碼,用十六進位寫出你名字的拼音吧,感受一下程式設計師的浪漫情懷!

相關焦點

  • 二進位、十進位和十六進位
    1) 十進位就不多說了,逢十進位,一個位有十個值: 0 ~ 9,我們的生活中到處都是它的身影。書寫二進位數據時需加前綴 0b,每一位的值只能是 0 或 1。十六進位就是把 4 個二進位位組合為一位來表示,於是它的每一位有 0b0000 ~ 0b1111 共 16 個值,用 0 ~ 9 再加上 A ~ F(或 a ~ f)表示,那麼它自然就是逢十六進位了,它本質上同二進位是一樣的,是二進位的一種縮寫形式,也是我們程序編寫中常用的形式。
  • 二進位、八進位、十進位與十六進位
    一、 進位的概念在計算機語言中常用的進位有二進位、八進位、十進位和十六進位,十進位是最主要的表達形式。對於進位,有兩個基本的概念:基數和運算規則。基數:基數是指一種進位中組成的基本數字,也就是不能再進行拆分的數字。二進位是0和1; 八進位是0-7;十進位是0-9;十六進位是0-9,A-F(大小寫均可)。也可以這樣簡單記憶,假設是n進位的話,基數就是【0,n-1】的數字,基數的個數和進位值相同,二進位有兩個基數,十進位有十個基數,依次類推。
  • 二進位,八進位,十進位,十六進位之間的轉換
    >十進位到八進位:除8取餘數 最後把餘數倒過來同時我們也可以先將十進位轉換成二進位,然後將二進位又轉換成八進位比如:2456 轉化成八進位數字:46302456/8=307,餘0;307/8=38,餘3;38/8=4
  • 有趣的進位-十六進位
    上節課我們學習了二進位,這節課我們研究十六進位,都說電腦只能識別二進位,那我們為什麼還要學習十六進位呢?為了讓人不懵逼,聰明的人類選擇用十六進位來表示二進位,十六進位作為二進位的簡寫方式,目的就是方便人類去觀看。
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • 二進位,八進位,十進位,十六進位轉換詳解~
    數制/N二進位八進位十進位十六進位數碼0,10,1,2,3,4,5,6,70,1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F基數281016規則逢二進一逢八進一逢十進一逢十六進一權2^i-18^i-110^i-116^i-12.進位轉換十進位01234567
  • 計算機的語言——二進位,十進位、八進位、十六進位與二進位之間的轉換
    一、進位的概念計算機中使用二進位編碼(只有0和1)表示數據,且只存在二進位。而C程序代碼中的整數常量,為了書寫方便,用十進位、八進位、十六進位表示,比如:十進位整數123、-23、+99等。而無論十進位、八進位還是十六進位數據在計算機中表示是轉換成二進位編碼表示,計算機中只存在二進位。
  • 6、計算機進位之二進位、十進位、十六進位之間的轉換
    4、進位之間的轉換4.1、正整數的十進位轉換二進位將一個十進位數除以二,得到的商再除以二,依此類推直到商等於一或零時為止,倒取除得的餘數,即換算為二進位數的結果4.2、二進位轉換為十進位二進位轉十進位的轉換原理:從二進位的右邊第一個數開始,每一個乘以2的n次方,n從0開始,每次遞增1。然後得出來的每個數相加即是十進位數。
  • 十進位轉二、八、十六進位
    微信:15338817400有時候服務端需要二進位的字符串或者十六進位(加密token一般不會用十進位)所以十進位和十六進位、二進位互相轉化顯得十分重要1、十進位轉二進位二進位如何轉十進位,十進位如何轉二進位42除以2得到的餘數分別為010101,然後咱們倒著排一下,42所對應二進位就是101010.二進位如何轉十進位,十進位如何轉二進位計算機內部表示數的字節單位是定長的,如8位,16位,或32位。所以,位數不夠時,高位補零,所說,如圖3所示,42轉換成二進位以後就是。
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    當然,人們輸入計算機的十進位被轉換成二進位進行計算,計算後的結果又由二進位轉換成十進位,這都由作業系統自動完成,並不需要人們手工去做,學習彙編語言,就必須了解二進位(還有八進位/十六進位)。 數制也稱計數制,是用一組固定的符號和統一的規則來表示數值的方法。人們通常採用的數制有十進位、二進位、八進位和十六進位。
  • 二進位、八進位、十進位、十六進位數的轉換方法
    ,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述,又常用八、十六進位作為二進位的縮寫。有四進位十進位:有10個基數:0 ~~ 9 ,逢十進一二進位:有2 個基數:0 ~~ 1 ,逢二進一八進位:有8個基數:0 ~~ 7 ,逢八進一十六進位:有16個基數:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六進一1、數的進位記數法N=a n-1*p n-1+a n-2*p n
  • 10、進位轉換:二進位、八進位、十六進位、十進位之間的轉換
    將二進位、八進位、十六進位轉換為十進位二進位、八進位和十六進位向十進位轉換都非常容易,就是「按權相加」。所謂「權」,也即「位權」。假設當前數字是 N 進位,那麼:更加通俗的理解是,假設一個多位數(由多個數字組成的數)某位上的數字是 1,那麼它所表示的數值大小就是該位的位權。
  • 二進位、八進位、十進位、十六進位轉換計算方法
    進位也就是進位位,我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間區別在於數運算時是逢幾進一位。比如二進位是逢2進一位,十進位也就是我們常用的0-9是逢10進一位。
  • 進位詳解:二進位、八進位和十六進位
    我們平時使用的數字都是由 0~9 共十個數字組成的,例如 1、9、10、297、952 等,一個數字最多能表示九,如果要表示十、十一、二十九、一百等
  • 關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結
    計算過程:(1*2+0*2+1*2).(1*2+0*2+1*2)=5.625得出結果:(101.101)2=(5.625)10 大家在做二進位轉換成十進位需要注意的是 1) 要知道二進位每位的權值 >二進位101對應5小數部分為:0.5得到結果:將101110.101轉換為八進位為56.5 ② 將二進位數1101.1轉換為八進位 這個就簡寫了,看看你能看懂了嗎?
  • 二進位、十進位、八進位、十六進位間的相互轉換函數
    二進位、十進位、八進位、十六進位間的相互轉換函數1、輸入任意一個十進位的整數,將其分別轉換為二進位、八進位、十六進位。{int num;char a[39];//定義一個字符數組,用於存儲字符串cout<<"Entre num:"<<endl;cin>>num;cout<<"二進位
  • 二進位、八進位、十六進位在現實當中有什麼意義?
    二進位、八進位、十六進位是有很多實際意義的,人們生活中都用十進位,不要誤以為只有十進位才有現實意義,每個進位的出現都有偉大的歷史意義。數字電路一般只有兩個狀態,高電平、低電平,導通、截止,開通、關斷,有、無,真、假等,全是二進位表示,邏輯電路全是使用0和1的二進位表示。八進位、十六進位八進位和十六進位在現實應用當中,主要是運用在電子技術、計算機編程等領域,是為了配合二進位而使用的,二進位是機器能夠識別的最直接語言,但是二進位位數太多,不方便記錄,所以一般把二進位轉化為八進位或十六進位。
  • 個人總結——二進位、十進位、十六進位轉換的方法
    近期和同事溝通時發現很多小夥伴多進位的轉換不太清晰,所以趁著周末自己總結了一下和大家分享想,下面先了解下定義。
  • 二進位、八進位和十六進位之間轉換詳解
    我們平時使用的數字都是由 0~9 共十個數字組成的,例如 1、9、10、297、952 等,一個數字最多能表示九,如果要表示十、十一、二十九、一百等
  • 二進位、八進位和十六進位之間轉換
    我們平時使用的數字都是由 0~9 共十個數字組成的,例如 1、9、10、297、952 等,一個數字最多能表示九,如果要表示十、十一、二十九、一百等