1 / 15

数 制 (二)

数 制 (二). 2011 初赛选择题专题. 转换规律. n 进制转换成 10 进制 按权展开 10 转换成 n 进制, 整数部分 逆向取余 小数部分 正向取整. (12tg) 与十进制数 1770.625 对应的八进制数是( )。 A. 3352.5 B. 3350.5 C. 3352.1161 D. 3350.1151 E. 前 4 个答案都不对 (11tg) (3725)8 + (B)16 的运算结果是( )。

hu-stevens
Télécharger la présentation

数 制 (二)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数 制 (二) 2011初赛选择题专题

  2. 转换规律 • n进制转换成10进制 按权展开 • 10转换成n进制,整数部分 逆向取余小数部分 正向取整

  3. (12tg) 与十进制数 1770.625 对应的八进制数是( )。 A. 3352.5 B. 3350.5 C. 3352.1161 D. 3350.1151 E. 前 4 个答案都不对 (11tg) (3725)8 + (B)16的运算结果是( )。 A. (3736)8 B. (2016)10 C. (11111100000)2 D. (3006)10 E. (7E0)16

  4. 16 16

  5. 实用技巧 • 二进制度可以和八与十六进制直接互相转化 • 请同学们仔细观察 • (1967)10=(7AF)16 • =(11110101111)2 • =(3657)8 11tg) (3725)8 + (B)16的运算结果是( )。 A. (3736)8 B. (2016)10 C. (11111100000)2 D. (3006)10 E. (7E0)16

  6. 小数点不动数字向右移动 (11)2/21= 1.1 36/101= 3.6 (11)2/22= 0.11 36/102= 0.36 11*21= 110 36*101= 360 1100 11*22= 36*102= 3600 小数点不动数字向左移动 3 shl 1=6 x SHR n 把x换成二进制后向右移n位,相当于 把x 除以 2n x SHL n 把x换成二进制后向左移n位,相当于 把x 乘以 2n

  7. (8tg)十进制书11/128可用二进制数码序列表示为:( )。 • A)1011/1000000 B)1011/100000000 C)0.001011 D)0.0001011

  8. 二进制计算 二进制的算术运算 1、加法运算规则: 0+0=0 0+1=1 1+0=1 1+1=10 2、减法运算规则: 0-0=0 0-1=1(向高位借1) 1-0=1 1-1=0 3、乘法运算规则: 0×0=0 0×1=0 1×0=0 1×1=1 说明:*2相当于小数点向右移如1101*2=11010 /2相当于小数点向左移 如1101/2=110.1 正如56*10=560 56/10=5.6

  9. 2010选择题第五题 • 5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=( )也成立。 • A. 100         B.     144         C.     164         D.     196 • 7*7=41就可以得出这1 2进制 • 然后1 2* 1 2先转换成10进制是14*14=196 • 196化成1 2进制是144

  10. 题1258:【基础】任意进制转换 Description 将十进制整数n,转换成b进制。 Input 一行,两个整数 n b ( 1 <= n <= 32767, 2 <= b <= 20 )。 Output 一行,为n转换成b进制后的数。 Sample Input 示例1:19 8 示例2:1229 16 Sample Output 示例1:23 示例2:4CD Hint While n<> 0 do begin inc(t); a[t]:=n mod 2; n:=n div 2 End. a[1]: 逆向取余 如果是16进制,余数会如何

  11. program ex1258; const s:array[0..19] of char=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'); var i,t,n,b,x:integer; a:array[1..20] of char; begin readln(n,b); t:=0; while n<>0 do begin inc(t); x:=n mod b; a[t]:=s[x]; n:=n div b; end; for i:=t downto 1 do write(a[i]); end. 15 9 1

  12. 题1288:【基础】二进制转十进制 Description 将二进制数转成十进制输出。 Input 一行,一个二进制数,二进制数的位数小于32位。 Output 一个十进制的整数。 Sample Input 11 Sample Output 3 program ex1288; var i,k,len:integer; st:string; x,t:longint; begin readln(st); len:=length(st); t:=1; for i:=len downto 1 do begin val(st[i],k); {把字符串中某一位转换成数} x:=x+k*t; t:=t*2; {生成权1,2,4,8……} end; writeln(x); end. (11110101111)2=(1967)10 11110101111

  13. 思考题目 • 输入十进制转换为二进制,小数部分精确到5位

  14. program ex; var w,zx:longint;n,xx:real; function makez(x:longint):string; var s,st:string;t:integer; begin st:=''; while x<>0 do begin t:=x mod 2; x:=x div 2; str(t,s); st:=s+st; {实现整数部分逆向} end; makez:=st; end; function makex(x:real):string; var i:integer;s,st:string;t:integer; begin st:=''; for i:=1 to w do begin x:=x*2; t:=trunc(x); str(t,s); st:=st+s; {实现小数部分逆向} x:=x-t; end; makex:=st; end; begin readln(n,w); zx:=trunc(n); xx:=n-zx; write(makez(zx)); if xx<>0 then begin write('.'); write(makex(xx)); end; end.

More Related