码迷,mamicode.com
首页 > 其他好文 > 详细

蓝鸥学习第一天

时间:2015-04-30 10:30:30      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

  

  虽然我是计算机专业毕业的,也学过C语言,之前去网上也自学了一下C语言和OC语言,但是为了把基础打好,我把自己当成一个新人,重新把这C语言和OC语言学好。好的不说这些了,进入正题,不然大家都要说我跑偏了。。。哈哈!

  今天主要学习了进制和进制之间的转换、简单程序的一般形式、基础数据类型、常量、变量、运算符、表达式、printf、scanf函数。

一、进制

  大家在平时当时,是用十进制来计数的,如“十”,我们可以用10来表示,其实这就是一种十进制的计数方式。编程中有4种计数方式:十进制、二进制、八进制、十六进制。

  • 十进制

 十进制是我们最熟悉、最常用的一种计数方式,它有两个特点:由0、1、2….9十个基本数字组成;运算规则是“逢十进一”。

 

  所谓“逢十进一”,似乎在小学数学中都已经学过了,也就是当数值满十时,就要向前进一位

    技术分享

  个位数为9+1,满十了,十位数就进一。

 

  • 二进制

  计算机当中常用的计数方式,由0,1二个数字组成,"逢二进一”。

  常以0b开头,是为了和十进制区分。如:0b1010

  1 + 1 =

  技术分享

  二进制转十进制:按位权求和

  0b1011 = 1 * 20 + 1 * 21 + 0 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 0 * 4 + 1 * 8 = 1 + 2 + 0 + 8 = 11

  因此二进制数0b1011表示的数值是十进制中的11

 

  • 八进制

  八进制有两个特点:由0~7八个基本数字组成;运算规则是“逢八进一”。

  常以0开头,如:056,而56是十进制数。

  

  八进制转十进制:按位权求和

  八进制的基数是8,因此027计算出来就是十进制中的23

  027 = 7 * 80 + 2 * 81 = 7 * 1 + 2 * 8 = 23

  八进制转为二进制:

  不难发现一个十进制数可以表示的最大值是9,而一个八进制数可以表示的最大值是7,恰好3个二进制数可以表示的最大值0b111也是7。因此,我们可以用一个八进制数来代替3个二进制数。

0b11110011 = 0b 011  110  011  = 0363

如果是八进制转为二进制,那就反过来,用3位二进制数来表示1位八进制数

025 = 0b 010  101 0b10101

  • 十六进制

  由1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成,A~F代表10~15,“逢十六进一"。

  常以0x或者0X开头。0x75是个十六进制数,而75是个十进制数。

  

     技术分享

      个位数是B+5,也就是11+5,值满十六了,于是十位数要进一。因此,在十六进制中,B + 5 = 0x10。0x10则表示十进制中的“十六”,而不是“十”

  //十六进制转十进制

  

十六进制的基数是16,F表示十进制中的15,因此0x2F计算出来就是十进制中的47

0x2F = 15 * 160 + 2 * 161 = 15 * 1 + 2 * 16 = 47

 

一个十六进制数可以表示的最大值是15,恰好4个二进制数可以表示的最大值0b1111也是15。因此,我们可以用一个十六进制数来代替4个二进制数。

0b11110011 = 0b 1111  0011  = 0xF3

如果是十六进制转为二进制,那就反过来,用4位二进制数来表示1位十六进制数

0x25 = 0b 0010  0101=0b100101

 

进制总结:

   N进制转十进制:按位权求和;

   十进制转N进制:边除倒取余;

二、变量和进制

  先写这么多,后续会更新.

 

蓝鸥学习第一天

标签:

原文地址:http://www.cnblogs.com/wlios/p/4467936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!