




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10.7 不同进位制的转换NOI程序设计及基本算法教材P261一、进制的概念日常生活中我们计数的方式有很多,如一年有12个月,则是12进制,一周有7天,则是7进制,等等。实际都是我们人为规定的,而平常我们用的最多的最习惯的是10进制,是因为我们古人留下来的财富,而古人是因为有10个手指便于帮助计数。需要强调的是任何一个值都可以用任何一种进制描述,但它的值是不变的,正如我们今天在一周中可以描述为星期几,在一月中描述为多少号一样。使用R进制计数的规则: (1)只使用R个基数:0,1,2,R-1; (2)逢R进一,退一当R进行数的运算。不同进制数示例(P261表10.4) 请在表格第一行上插入一行,
2、依次填添上 0 0000 0 0二、进制转换二进制转十进制一个十进制数可以这样表示: 123410 = 1103+2102+3101+4100二进制转十进制 11012 = 123+122+021+120 = 1310八进制转十进制 248 = 281+480 = 2010 213.68 = 282+181+380+68-1 = 139.7510十六进制转十进制 1A16 = 1161+10160 = 2610二、进制转换二进制转十进制二进制转十进制实例代码(整数):program ex10_19;var sb:string; i,j,k,n:longint;begin readln(sb);
3、 n:=0; for i:=1 to length(sb) do n:=n*2+ord(sbi)-ord(0); writeln(n); readln;end.范例:11012 = 123+122+021+120 = 1510三、进制转换十进制转二进制0.37510=0.0112小数转换:乘2取整答案书写顺序0. 0 1 12 1552 77.12 38.12 19.02 9.12 4.12 2.02 1.0 0.1整数转换:除以2取余1 0 0 1 1 0 1 1答案书写顺序15510 = 100110112三、进制转换十进制转二进制十进制转二进制(整数部分)实例代码:除2取余program
4、 ex10_20;const max=100;var a:array0.max of integer; /存储余数的数组 i,n:longint;begin readln(n); /读入一个整数 i:=0; repeat inc(i); /增加数组下标 ai:=n mod 2; /余数 n:=n div 2; /新的商 until n=0; /商为0,结束循环 a0:=i; for i:= a0 downto 1 do writeln(ai); /反向输出数组中存储的余数 readln;end. 范例: 15510 = 100110112三、进制转换十进制转二进制十进制转二进制(小数部分)实例
5、代码:乘2取整program ex_23;const max=100;var a:array0.max of integer; /存储整数部分 i,k:integer; r:real;begin readln(r); /读入小数部分 i:=0; repeat inc(i); / 增加一个下标,准备存储整数部分 r:=r*2; / 乘2 k:=trunc(r); / 取整 ai:=k; / 存储整数部分 r:=r-k; / 获得新的小数部分 until (r=0) or (i=max); / 当小数点后面为0或达到精度要求则退出循环 a0:=i; write(0.); for i:= 1 to
6、a0 do write(ai); /正向输出 readln;end. 范例: 0.37510=0.0112四、进制转换总结二进制转十进制只掌握整数部分转换。十进制转二进制要掌握整数和小数的转换。二、八、十六进制之间的转换可以用十进制为中介(一般不会考)注意领会进制转换的思想,可能会用在其他程序中。五、进制转换应用例题10.22(P265)program ex10_22;var na,nb,i,j,l,m,n:integer; /na表示A类数的数量; nb表示B类数的数量; begin na:=0;nb:=0; for n:=1 to 1000 do begin / 枚举11000中的数 m:
7、=n; j:=0;l:=0; while(m0) do begin /对枚举的11000中每个数求其二进制并统计 inc(l); /统计二进制的总位数 j:=j+m mod 2; /统计“1”的个数,即所有1和0相加的总和 m:=m div 2; /下一个商 end; if jl-j then inc(na) else inc(nb); / 如果1的个数大于0的个数,na递增;反之nb递增 end; writeln(na); writeln(nb);end.五、进制转换应用例题10.23(P266)program ex10_23;var s,k,l,m,n:longint; begin readln(k,n); s:=0; m:=1; while n0 do begin l:=n mod 2; / 首先求n的2进制的的最后一位,然后求倒数第二位 s:=s+m*l; / l=1则选择k的幂然后进行累加; l=0则不选择k的幂进行累加,因为此m*l=0 m:=m*k; / 计算k的幂 n:=n div 2 / 计算此时的商(除2取余需要) end; writeln(s); readln;end. 第N个数 35 34 33 32 31 30 1 0 0 0 0 0 1 2 0 0 0 0 1 0 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淀粉在化妆品的滑石粉替代应用考核试卷
- 稀有金属在量子计算领域的应用考核试卷
- 欧阳修的春秋笔法宋代士大夫如何改写唐史
- 2025年租房经营民宿的合同范本
- 2025年度品牌推广服务合同
- 2025授权代建合同示范文本
- 2025房产交易居间合同范本
- 《2025年终止服务合同范本》
- 隧道工程-桥梁及结构工程施工图设计说明
- 苏教版九年级下册数学(全册知识点考点梳理、重点题型分类巩固练习)(提高版)(家教、补习、复习用)
- 中药饮片出库单
- 国开2023春《语言学概论》形考任务1-3+大作业参考答案
- 宿舍楼施工方案方案
- 甲醇-水精馏塔
- 中国话剧史专题知识
- GB/T 15544.1-2023三相交流系统短路电流计算第1部分:电流计算
- GB/T 90.3-2010紧固件质量保证体系
- GB/T 18799-2020家用和类似用途电熨斗性能测试方法
- 科技公司涉密计算机软件安装审批表
- GA/T 1369-2016人员密集场所消防安全评估导则
- GA 1517-2018金银珠宝营业场所安全防范要求
评论
0/150
提交评论