【信息学竞赛干货】Noip初赛理论知识总结(四)
要点一
四种常用的数制
进制 |
基数 |
基数个数 |
权 |
进数规律 |
十进制 |
0、1、2、3、4、5、6、7、8、9 |
10 |
10i |
逢十进一 |
二进制 |
0、1 |
2 |
2i |
逢二进一 |
八进制 |
0、1、2、3、4、5、6、7 |
8 |
8i |
逢八进一 |
十六进制 |
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F |
16 |
16i |
逢十六进一 |
十进制数转换为二进制数、八进制数、十六进制数的方法:
整数转换方法:除基反取余法
小数转换方法:乘基取整法
二进制数、八进制数、十六进制数转换为十进制数的方法:按权展开求和法
要点二
二进制与十进制间的相互转换
二进制转十进制
方法:“按权展开求和”
规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
注意:不是任何一个十进制小数都能转换成有限位的二进制数。
十进制转二进制
十进制整数转二进制数:“除以2取余,逆序输出”(短除反取余法)
· 十进制小数转二进制数:“乘以2取整,顺序输出”(乘2取整法)
要点三
八进制与二进制的转换
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。
要点四
十六进制与二进制的转换
二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。
十六进制数转换成二进制数:把每一个八进制数转换成4位的二进制数,就得到一个二进制数。
注意:以上所说的二进制数均是无正、负符号的数。这些数的范围如下表:
无符号位二进制数位数 |
数值范围 |
十六进制范围表示法 |
8位二进制数 |
0~255 (255=28-1) |
00~0FFH |
16位二进制数 |
0~65535 (65535=216-1) |
0000H~0FFFFH |
32位二进制数 |
0~232-1 |
00000000H~0FFFFFFFFH |
要点五
总结
习惯 n ( n≥2 )进制整数的表示与计算:满 n 进一的理解。加法与减法。
从 10 进制数到 n 进制数的转换:整数:除 n 取余法小数:乘 n 取整法
从 n 进制数到 10 进制数的转换:乘 n 的幂相加法
2、8、16 进制整数之间的转换特点
往年真题
1. 在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43 B. -85 C. -43 D. -84
——2017年第二十三届普及组C++初赛第一题
2.与二进制小数 0.1 相等的八进制数是()。
A.0.8 B.0.4 C.0.2 D.0.1
——2016年第二十二届普及组C++初赛第八题
3.与二进制小数0.1相等的十六进制数是( )。
A.0.8 B.0.4 C.0.2 D.0.1
——2015年第二十一届普及组C++初赛第七题
4.二进制数 11.01 在十进制下是()。
A.3.25 B.4.125 C.6.25 D.11.125
——2013年第十九届普及组C++初赛第二题
5.十六进制数9A在( )进制下是232。
A.四 B.八 C.十 D.十二
——2012年第十八届普及组C++初赛第四题
看了上面的要点这些题目你会做了吗?
现在公布答案:
-
1.B
-
2.B
-
3.A
-
4.A
-
5.B
你们做对了吗?
下期我们不见不散!!!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com