第二章 数制与基本数据类型

Tip:本章主要学习数制的基本知识和基本简单的数据类型,尽量把C语言的数据知识用最简单的数学模型讲解明白。除此之外,本章的知识需要重点学习,数据类型是C语言中重点的知识,虽然本章中的数据类型只有简单的几种,但是学会之后奥妙无穷,为以后学习复杂的数据类型打下坚实的基础。

2.1 常见的几种数制

2.1.1 十进制

十进制数用0、1、2、3…….9 , 这十个数来表示。十进制(计数法)是以10为基础数字系统, 是在世界上应用最广泛的进位制。

即满十进一,满二十进二,以此类推;按权展开,第一位权为100,第二位101……以此类推,第N位10^()N-1,该数的数值等于每位位的数值*该位对应的权值之和(例如123=1*102+2*101+3*100)。世界上绝大多数古文明都是使用的十进制,古中国,古印度,古希腊等。

Tip:十进制只有0、1、2、3……9这十个数,不要记成1到10。

2.1.2 二进制

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数计算机运算基础采用二进制。

二进制数(binaries)是逢2进位的进位制,0、1是基本算符;如同十进制一样二进制的第一位的权重为20,第二位为21……以此类推,第N位为2N-1,该数的数值等于每位位的数值*该位对应的权值之和(例如1010=1*23+0*22+1*21+0*20 = 10(十进制))。

2.1.3 八进制

八进制(Octal),缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制(例如023)。八进制的数和二进制数可以按位对应(八进制1位对应二进制3位),因此常应用在计算机语言中。

八进制与十进制和二进制的特点一样,第一位的权重为80,第二位的权重为81……以此类推,第N为的权重为8N-1,该数的数值等于每位位的数值*该位对应的权值之和(例如0752=7*82+5*81+2*80 = 490(十进制))。

2.1.4 十六进制

十六进制(简写为hex或下标16)是一种基数为16的计数系统,是一种逢16进1的进位制。通常用数字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F(a、b、c、d、e、f)表示,其中:A~F表示10~15,这些称作十六进制数字。

C语言、C++、Shell、Python、Java语言及其他相近的语言使用字首“0x”,例如“0x5A3”。开头的“0”令解析器更易辨认数,而“x”则代表十六进制(就如“O”代表八进制)。在“0x”中的“x”可以大写或小写。

十六进制与前几种进制一样,第一位权重是160,第二位的权重是161……以此类推,第N位的权重是16N-1,该数的数值等于每位位的数值*该位对应的权值之和(例如0xb2=b*161+2*160 = 178(十进制))。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一世繁华C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值