【信息学竞赛干货】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