本文目录一览:
本人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/n/181484.html