【信息学竞赛干货】Noip初赛理论知识总结(四)
2018-08-29 20:03
要点一 四种常用的数制 进制 基数 基数个数 权 进数规律 十进制 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