<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • C語言十進制轉換二進制(二進制轉換十六進制方法)


    數學不好,盡量簡潔,邏輯理解,應該有比我寫的這些更好的論文,請。

    基于簡潔,同一個數的數次相乘被簡寫成在那個數的左上角放上一個小數字來代表那個數相乘的次數。

    舉個例子,比如2

    為什么通過將十進制除二轉為二進制的方法有效?

    坐上的n代表有幾個2相乘,右下的1,2,3…n指一直數到n,數出一共有幾個2

    受制于現實,傳統計算機只能使用0或1表示數字來進行計算,但只有0和1所能計算的數字太少了,于是為了計算更多數字,需要通過0和1去表示更多數字,通過阿拉伯數字的經驗,我們知道可以通過把數字排起來表示更多數字

    為什么通過將十進制除二轉為二進制的方法有效?

    n仍是數有幾個數的意思。

    這樣排列我們就能制作出長度任意而不同的排列數字塊了,如果把每一堆數字塊當成一個數字,我們就能通過排列組合排列出不相同的所有數字了,好耶!

    那接下來的問題就是給予排列的數字塊意思,也就是一塊特定排列的數字塊到底是什么數,比如:

    為什么通過將十進制除二轉為二進制的方法有效?

    我們當然也可以隨便給,比如上邊這個0010001就是8,1000101是5,101101是7等等,但這樣要記住的特定排列太多了,而我們想要盡可能方便直觀簡單快速的明白一個排列數字塊到底是什么意思。

    還是阿拉伯數字的經驗,我們知道一個數排在另一個數前面代表這個數是幾十幾而再在前面排一個是幾百幾,也就是說:

    為什么通過將十進制除二轉為二進制的方法有效?

    出于簡潔,就排列三個數,但規律也逐漸出現了

    我們用十進制拆分了十進制!甚至還能再拆

    為什么通過將十進制除二轉為二進制的方法有效?

    拆的更離譜些!

    為什么通過將十進制除二轉為二進制的方法有效?

    更大!更好!更快!更強!

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯…拆到這種程度應該差不多了,×1可以無限加,但也就只有阻礙閱讀的作用了,還是撤了吧.都知道2就是1+1,3就是1+1+1,好像也沒什么必要.但第一次拆分我們能發現100能被拆成10×10,那1000能不能被拆呢?也可以,只要是這種往10后面排0的都能被這么拆

    為什么通過將十進制除二轉為二進制的方法有效?

    為什么通過將十進制除二轉為二進制的方法有效?

    簡寫中的2可以換成任何一個數字,10當然也可以

    為什么通過將十進制除二轉為二進制的方法有效?

    于是上面的規律就可以簡寫成這樣

    為什么通過將十進制除二轉為二進制的方法有效?

    但通過這樣寫,我們就能將極其大的數寫的很短

    假如我們想寫出100000000,只要寫成10加上右上角的短數字8就行了

    為什么通過將十進制除二轉為二進制的方法有效?

    并且還能寫出”無限”,即是規律本身!

    為什么通過將十進制除二轉為二進制的方法有效?

    通過將n的數字改變,我們就能寫出任意一個由10×10組成的數字

    為什么通過將十進制除二轉為二進制的方法有效?

    你可能會懷疑這不過是在做符號的游戲,而不一定能得出正確的結果.但如果你一個一個將其拆分,它們仍然還是原來的數本身,而只是換了個寫法,仍是正確的

    話 題 逐 漸 跑 偏,回到把用0和1構成更多數的目標上來,看看我們能用已經發現的規律做些什么

    既然阿拉伯數字是這個規則,那它對其他數字應該也會有一些效果?不管了,直接套就完了!

    為什么通過將十進制除二轉為二進制的方法有效?

    因為0乘任何數都是0,所以把它們省略掉

    為什么通過將十進制除二轉為二進制的方法有效?

    那么,0010001就是11了!這樣我們就能表達很多數了!比如:

    – 0101=101

    – 100111=100111

    – 101010=101010

    – ..?

    這不跟沒有一樣嗎喂,只是把前面的0省掉,這不跟十進制一模一樣嗎,啊,好吧,就是直接套的十進制啊…

    雖然我們已經能表示很多數了,但跟十進制一比還是有很多數沒能表現,為了完全實現計算的用途,還需要用0和1表現更多數才行.

    該怎么辦呢,怎么辦呢,0和1是不能變的,目前能隨便變的只有10,既然我們想讓0和1表示所有數,那如0,1,2,3…這種最小的正整數是不能放過的,那就把10換成0試試?

    為什么通過將十進制除二轉為二進制的方法有效?

    額…明顯不行,這樣不管加多少1或0得出來的數只能看最后一位,只有0或1啊,太少了

    那換成1試試?

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯哼?好像可以!:

    – 0101=2

    – 100111=4

    – 101010=3

    – …

    這樣的確可以表示所有正整數了,但…0除了它自身完全沒用上啊,0101=2那11也=2啊,而巨大的數寫起來也太長了,會占用很多計算機資源的,有沒有什么更好的辦法?試試2!

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯?好像還可以?:

    – 0101=5

    – 100111=39

    – 101010=50

    – …

    是能行啊!前面的位數能夠組成所有的偶數,而最后一位的1加上前面所有的偶數組成所有的奇數,把10變成2也能組成所有數字!

    這樣每一位的利用效率是高了不少,但能不能再高效些?換成3?

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯,看起來還行,但它能不能表示小正整數?看看他能表示除了0以外最小的正整數就行,他能表示1嗎?

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯,說了跟沒說一樣呢_(:з」∠)_,那看看2

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯?2沒了?再往左排數字只能讓它越來越大.看來3不行,4呢?

    為什么通過將十進制除二轉為二進制的方法有效?

    哇,這沒的更過分了,2沒了,3都沒了欸,這么下去沒掉的數字只會是越來越多吧.

    權衡之下,最有效的還是把10變成2啊,既然是把十進制的十變成二,那就叫二進制吧.

    雖然0和1已經能表示所有正整數了,但我想讓電腦計算兩個數的時候還是不能直接寫上233+666就行了的,因為最終電腦計算的還是0和1,我得把正整數變成0和1才行,怎么辦呢…對了!因為二進制是由二乘出來的,我只要知道一個正整數里有幾個2就行了,如果這個正整數是奇數那最后一位二進制數就是1,是偶數就是0

    那怎么知道一個數里有幾個2?把它分成兩份就行了,一直分,直到分到每一份都是2為止!從數學上來講就是除以2

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯,6里有3個2,就是110,再看看奇數

    為什么通過將十進制除二轉為二進制的方法有效?

    呃…等等,我可沒想過小數啊…但我們有規定過每一份都一定是2,那就把這7里的2給取出來先?然后還剩下個1

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯,只要把1取出來不就好了嗎,7就是111啦

    再看看這方法對大數字有沒有效

    為什么通過將十進制除二轉為二進制的方法有效?

    呃…56是由28個2組成的不錯,但28個2…到底是2的幾倍呢,要是硬算也不是算不出來,但如果56這個數再大了,恐怕就根本算不出來了,或者得拿著對照表一個個對,而更大的,許多許多位的則是根本沒法算了,為了保證什么正整數都能計算,得再想個辦法…再用2拆一次?到時候還原成十進制的時候再乘就好,也是基于2的,不違規.

    為什么通過將十進制除二轉為二進制的方法有效?

    嗯…這方法的確可行,但這并沒有讓事情變得簡單,反而更加麻煩了,7的二進制111乘2并算不出二進制,甚至算十進制都很費勁,難道就沒有什么更好的方法了嗎…..?

    為什么通過將十進制除二轉為二進制的方法有效?

    啊,是啊,還能這么做,如果我把每一份都繼續拆分,再還原

    為什么通過將十進制除二轉為二進制的方法有效?

    還原,還原,還原,還原

    為什么通過將十進制除二轉為二進制的方法有效?
    為什么通過將十進制除二轉為二進制的方法有效?

    然后再代入、還原

    為什么通過將十進制除二轉為二進制的方法有效?

    通過對還原過程的觀察我們發現,最終的1將會被還原成2的最大倍數,而在其次的1將會被還原成下一位2的倍數,最后一位為1,這對所有數都成立嗎?

    所有數被2乘,最終只會有兩種結果

    為什么通過將十進制除二轉為二進制的方法有效?

    而這兩種都能被拆分成唯一的結果

    為什么通過將十進制除二轉為二進制的方法有效?

    于是這對所有數都成立,而最終的1將是2的最大倍數,而向前的依次減一個2的倍數,從而只需要從后往前數余數,沒有余數則為0,即可將十進制轉位二進制。

    感謝觀看,起來走兩步休息休息。

    知識來源(真不是廣告嗷誰會給沒粉絲的人廣告,我的知識除了符號以外基本上全是這本書給的,如果你能讀懂我寫的這攤,那你讀懂這本書(我看完的部分,大概一半)是沒問題的(我這篇的文風也是學這本書的)):

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费