300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言 二进制 八进制 十六进制 十进制以及进制转换;32个关键字

c语言 二进制 八进制 十六进制 十进制以及进制转换;32个关键字

时间:2019-07-06 08:51:57

相关推荐

c语言 二进制 八进制 十六进制 十进制以及进制转换;32个关键字

目录

一、计算机数据表示:

二、进制间的转换(二进制,八进制,十进制,十六进制):

三、非数值数据:(ASCII码)

四、关键字:(32个)

一、计算机数据表示:

1、首先我们需要知道的是计算机只能识别的就只有1 0 这样的机器语言,简单的来说:

机器只能识别有电或者无电的情况,这两种情况就被设置成了1 0

2、正因为如此,我们传入计算机的数据,符号,数字等等,这样一来我们的计算机才能识别我们的数据并接收或者存储,然后进行我们熟知的加减乘除运算等等;

那么;数据是如何转换为0 1 数据的呢?

3、数值数据的表示:

a、数值数据通常有四种表达方式:十进制,二进制,八进制,十六进制

b、我们常见的数值都是以十进制的方式存在的,也就是我们常说的0,1,2,3,4,5,6,7,8,9,10,11这种逢十进一:满了10就要像高位进一位的方式为十进制数,十进制数也最简单了;

4、十 进 制:

(0-9) :逢十进一(满了10就要像高位进一位变11,21,31.......);

基数:10 >>>基数:就和逢十进一概念差不多,是逢几进一它的基数就为几;

123 : 1*10^2+ 2*10^1 + 3*10^0 = 123>>>解释:1*10^2表示的是1乘10的2次方结果是等于 20 的;

5942:5*10^3+9*10^2+4*10^1+2*10^0 = 5942;

5、二 进 制:

(0-1):逢二进一 例如:0b1011 >>>其中b(bin)代表二进制

基数:2

1011:将二进制的1011转换为10进制如下:

1*2^3+0*2^2+1*2^1+1*2^0 = 11;

6、 八 进 制

(0-7):逢八进一 例如:0354 >>>其中 0 (零)代表八进制

基数:2

354:将八进制的354转换为10进制如下:

3*8^2+5*8^1+4*8^0 = 236;

7、 十 六 进 制

(0-9,a,b,c,d,e,f)从a=10开始后面依次为11,12,13,14,15(f):

逢十六进一 例如:0x4b12 >>>其中 0x (零x)代表十六进制

基数:2

4b12 :将十六进制的4b12转换为10进制如下:

4*16^3+11*16^2+1*16^1+2*16^0 = 3858;

二、进制间的转换(二进制,八进制,十进制,十六进制):

1、以上二进制,八进制,十六进制的时候已经介绍了由二进制,八进制,十六进制转换为十进制的方法:

二进制,八进制,十六进制 >>> 十进制

2、十进制 转化为 二进制:

方法一:短除法

验算:0b1111011 : 1*2^6+1*2^5+1*2^4+1*2^3+0*2^2+1*2^1+1*2^0 = 123 ;

方法二:凑放法

凑放法:此方法转换二进制的话主要从2的几次方出发来配凑:

2^0 = 1 2^1 = 22^2 = 42^3 = 8

2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128

2^8 = 256 2^9 = 512 2^10 = 1024

>>>123 - 64 = 59 >>> 1*2^6 6代表从右往左第6位写1

59 - 32 = 27 >>> 1*2^5 第5位写1

27 - 16 = 11 >>>1*2^4 依次类推

11 - 8 =. 3 >>> 1*2^3

3 - 0 = 3>>> 0*2^2

3 - 2 = 1>>>1*2^1

1 - 1 = 0>>>1*2^0

结合上面于是得到:0b1111011

总结:此方法对于数字平方敏感或者习惯的用起来也速度快,主要效果明显许多

2.1 十进制 转换为 八进制:(得到二进制后就很容易了)

得到二进制0b1111011之后:八进制就是由3个一组3个一组的二进制组合而成;

高位缺少部分往左边加0即可:0b后面的1 >>> 011

即:二进制0b1111011 >>> 八进制0173

2.2 十进制 转换为 十六进制:(原理和上面一样)如图:

即:二进制0b1111011 >>> 十六进制0x7b

总结:十进制 转换为 二进制,八进制,十六进制转化为二进制都是同样的道理;

3、(当然也可以选择一步到位的方法)十进制转为八进制:

3.1短除法:

0173 (八进制)>>> (二进制)0b1111011

本人感觉要简单直观一些:

3.2:配凑法:很明显此法做显得不必要了,建议短除法;

8*^0 = 1 8^1 = 8 8^2 = 64

8^3 = 512 8^4 = 4096 8^5 = 3276

…………

4、十进制转换为十六进制:

0x7b >>> 0b1111011

这样看来,可不必要先转为二进制,转为进制较高的十六进制,一来减少了计算量不容易错,再转为二进制的时候也非常直观的;

三、非数值数据:(ASCII码)

1、ASCII:在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是有了ASCII编码,统一规定了常用符号用哪些二进制数来表示 ;到目前为止共定义了128个字符;

计算机中常用的ASCII码值:

'a' :97 到 'z' :122'0' :48

'A' :65 到 'Z' :90 '' (空格):32

'9' :58'\n' : 10'\0 ' : 0

四、关键字:(32个)

1、标识符命名规则:

1.1、只能由字母,下划线和数字构成;

1.2、不能以数字开头;

1.3、不能与关键字重复。

2、(32个)关键字:现在这里只需要记住你定义的标识符不能和它们重名就行了,具体作用请看后续分晓:

2.1、数据类型:(8个)

int、char、short、long、float(单精度)、double(双精度)、signed、unsigned

2.2、存储类型:(6个)

static、extern、auto、register、const、volatile

2.3 语句类型:(12个)

if、else、while、for、goto、case、return、continue、break、default、do、swith

2.4:构造类型:(3个)

struct、union、enum

2.5:求字节类型:(1个)

sizeof

2.6:取别名类型:(1个)

typedef

2.7:空类型:(1个)

void

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。