本文目錄一覽:
本人32了,正在開始學c語言.是不是年齡有點大了
不大,只要用心去學,完全可以學會。學校一門課程也不過幾十個學時。關鍵要熟練,學會一門課不難,學會實際工作中如何用才更重要,且現在應用不限於一門語言,大多和其它工具同時使用的。
正在學習C語言,進制一直弄不懂
先來看進制是什麼?
首先來看10進制數:
對於一個十進制數,如:22222,有什麼特點呢?
(1)雖然每個位置都是2,但是其價值「權重」是不同,從右邊數,第一個2的權重是1,第二個2的權重是10,即2X10,第三個2的權重是100=10^2,第四個2的權重是1000=10^3,第五個2的權重是10000=10^4。
(2)可以擴展為一個多項式:22222=2X10^4+2X10^3+2X10^2+2X10^1+2X2^0
(3)數字里不存在超過10的位(即位的範圍只是0-(10-1)
(4)在做加法運算時,逢10進1,如6+5=11;在做減法時,對應位不夠減向左借10,如11-5=6
接着,我們推廣到任意 N 進制數:
有了十進制基本概念後,我們可以任意構造任意進制數了,而不僅是2,8,16進制。把上面的內容複製到下面,並把10改為N就OK了。
對於一個 N 進制數(設N2),如:22222,有什麼特點呢?
(1)雖然每個位置都是2,但是其價值「權重」是不同,從右邊數,第一個2的權重是1,第二個2的權重是 N ,即 2 XN,第三個2的權重是 ?=N^2,第四個2的權重是 ? =N^3,第五個2的權重是 ?=N^4。
(2)可以擴展為一個多項式:22222=2X N^4+2X N^3+ 2X N^2+2X N^1+2X N^0
(3)數字里不存在超過 N 的位(即位的範圍只是0-(N-1)
(4)在做加法運算時,逢 N 進1,如6+5=13(8進制);在做減法時,對應位不夠減向左借 N,如11-5=3(設為7進制運算)
把一個N進制轉換成對應10進制數的方法:
當然任何一個 N 進制數都可以轉換成十進制數,方法就是多項式展開後,計算多項式的值就可以了:
(abcde)n=aXN^4+bXN^3+cXN^2+dXN^1+eXN^0
最後,我們看一個10進制轉換成N進制的例子:
如果想把一個10進制變為一個 N 進制數,用輾轉相除取余法,可以分別得到N進制的位,把這些位組合起來就行了。
例,設一個10進制數 Y 可以展開為多項式:aXN^4+bXN^3+cXN^2+dXN^1+eXN^0 ,
則可以通過幾步得到一些餘數:
i) Y%N(取餘數): (aXN^4+bXN^3+cXN^2+dXN^1+eXN^0 ) % N,這裡,前四項都可被N除盡,所以餘數是e;
ii)Y/N =Y(Y除以N後取整): (aXN^4+bXN^3+cXN^2+dXN^1+eXN^0 ) / N ==aXN^3+bXN^3+cXN^1+dXN^0(即除不盡的數被丟掉,且其它項都約掉了一個N)
重複i),ii),直到Y=0時,可以依次得到位d,c,b,a
最後把所有位按照反序排列可以得到新的 N 進制數,此例的 N 進制 即是:abcde
我正在學C語言,C語言都可以幹什麼?
簡單來講,編程語言就是告訴計算機你想幹什麼.
計算機只懂二進制的數據, 人卻很難理解二進制數據的含義.
因此,人類發明了編程語言, 然後讓人能方便的告訴計算機人想幹什麼.
把編程語言翻譯成計算機能懂的二進制數據就是編譯程序的工作。
c就是一種人能懂的高級語言,至於c能幹什麼, 就想你會說英語, 你說能幹什麼?和外國人交流.編程語言一樣, 無非就”可以”告訴計算機你要幹什麼.
至於怎麼干,發揮你的才智.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/181484.html