二进制、八进制和十六进制

二进制、八进制和十六进制

进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有0~910个数字,基数为10,在加减法运算中,逢十进一,借一当十。

二进制

我们不妨将思维拓展一下,既然可以用0~9共十个数字来表示数值,那么也可以用01两个数字来表示数值,这就是二进制(Binary。例如,数字01101111001000001都是有效的二进制。

在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。本节我们先讲解二进制的概念,下节讲解数据在内存中的存储,让大家学以致用。

二进制加减法和十进制加减法的思想是类似的:

对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;

对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。

下面两张示意图详细演示了二进制加减法的运算过程。

1) 二进制加法:1+0=11+1=1011+10=101111+111=1110

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F914100916142.png

二进制加法示意图

2) 二进制减法:1-0=110-1=1101-11=101100-111=101

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F914104043P9.png

二进制减法示意图

八进制

除了二进制,C语言还会使用到八进制。八进制有0~78个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0157147336700125430 都是有效的八进制。

下面两张图详细演示了八进制加减法的运算过程。

1) 八进制加法:3+4=75+6=1375+42=1372427+567=3216

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F914144329401.png

八进制加法示意图

2) 八进制减法:6-4=252-27=23307-141=1467430-1451=5757

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F914150Q5A4.png

八进制减法示意图

十六进制

除了二进制和八进制,十六进制也经常使用,甚至比八进制还要频繁。十六进制中,用A来表示10B表示11C表示12D表示13E表示14F表示15,因此有 0~F 16个数字,基数为16,加法运算时逢161,减法运算时借116。例如,数字0169ADF419EA3280A3BC00都是有效的十六进制。注意,十六进制中的字母不区分大小写,ABCDEF也可以写作abcdef

下面两张图详细演示了十六进制加减法的运算过程。

1) 十六进制加法:6+7=D18+BA=D2595+792=D272F87+F8A=3F11

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F914153254337.png

十六进制加法示意图

2) 十六进制减法:D-3=A52-2F=23E07-141=CC67CA0-1CB1=5FEF

http://c.biancheng.net/cpp/uploads/allimg/170914/1-1F91416123IP.png

十六进制减法示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值