《进位也可以很有趣》PPT课件.ppt_第1页
《进位也可以很有趣》PPT课件.ppt_第2页
《进位也可以很有趣》PPT课件.ppt_第3页
《进位也可以很有趣》PPT课件.ppt_第4页
《进位也可以很有趣》PPT课件.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Binary-1,二進位也可以很有趣,32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,Binary-2,二進位也可以很有趣,16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,Binary-3,二進位也可以很有趣,8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 40, 41, 42, 43, 44, 45, 46, 47, 56, 57, 58, 59, 60, 61, 62, 63,Binary-4,二進位也可以很有趣,4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31, 36, 37, 38, 39, 44, 45, 46, 47, 52, 53, 54, 55, 60, 61, 62, 63,Binary-5,二進位也可以很有趣,2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 58, 59, 62, 63,Binary-6,二進位也可以很有趣,1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,Binary-7,二進位也可以很有趣(原理),1, 3, 5, 7, 0 0 0 0 0 1 = 1 9, 11, 13, 15, 0 0 0 0 1 0 = 2 17, 19, 21, 23, 0 0 0 0 1 1 = 3 25, 27, 29, 31, 0 0 0 1 0 0 = 4 33, 35, 37, 39, 0 0 0 1 0 1 = 5 41, 43, 45, 47, 0 0 0 1 1 0 = 6 49, 51, 53, 55, 0 0 0 1 1 1 = 7 57, 59, 61, 63 0 0 1 0 0 0 = 8,Binary-8,二進位也可以很有趣(原理),2, 3, 6, 7, 0 0 0 0 0 1 = 1 10, 11, 14, 15, 0 0 0 0 1 0 = 2 18, 19, 22, 23, 0 0 0 0 1 1 = 3 26, 27, 30, 31, 0 0 0 1 0 0 = 4 34, 35, 38, 39, 0 0 0 1 0 1 = 5 42, 43, 46, 47, 0 0 0 1 1 0 = 6 50, 51, 54, 55, 0 0 0 1 1 1 = 7 58, 59, 62, 63 0 0 1 0 0 0 = 8,Binary-9,二進位也可以很有趣(原理),4, 5, 6, 7, 0 0 0 0 0 1 = 1 12, 13, 14, 15, 0 0 0 0 1 0 = 2 20, 21, 22, 23, 0 0 0 0 1 1 = 3 28, 29, 30, 31, 0 0 0 1 0 0 = 4 36, 37, 38, 39, 0 0 0 1 0 1 = 5 44, 45, 46, 47, 0 0 0 1 1 0 = 6 52, 53, 54, 55, 0 0 0 1 1 1 = 7 60, 61, 62, 63 0 0 1 0 0 0 = 8,Binary-10,二進位也可以很有趣(原理),8, 9, 10, 11, 0 0 0 1 1 1 = 7 12, 13, 14, 15, 0 0 1 0 0 0 = 8 24, 25, 26, 27, 0 0 1 0 0 1 = 9 28, 29, 30, 31, 0 0 1 0 1 0 = 10 40, 41, 42, 43, 0 0 1 0 1 1 = 11 44, 45, 46, 47, 0 0 1 1 0 0 = 12 56, 57, 58, 59, 0 0 1 1 0 1 = 13 60, 61, 62, 63 0 0 1 1 1 0 = 14,Binary-11,二進位也可以很有趣(原理),16, 17, 18, 19, 0 1 0 0 0 0 = 16 20, 21, 22, 23, 0 1 0 0 0 1 = 17 24, 25, 26, 27, 0 1 0 0 1 0 = 18 28, 29, 30, 31, 0 1 0 0 1 1 = 19 48, 49, 50, 51, 0 1 0 1 0 0 = 20 52, 53, 54, 55, 0 1 0 1 0 1 = 21 56, 57, 58, 59, 0 1 0 1 1 0 = 22 60, 61, 62, 63 0 1 0 1 1 1 = 23,Binary-12,二進位也可以很有趣(原理),32, 33, 34, 35, 1 0 0 0 0 0 = 32 36, 37, 38, 39, 1 0 0 0 0 1 = 33 40, 41, 42, 43, 1 0 0 0 1 0 = 34 44, 45, 46, 47, 1 0 0 0 1 1 = 35 48, 49, 50, 51, 1 0 0 1 0 0 = 36 52, 53, 54, 55, 1 0 0 1 0 1 = 37 56, 57, 58, 59, 1 0 0 1 1 0 = 38 60, 61, 62, 63 1 0 0 1 1 1 = 39,卡片玩法與原理,請玩者心裡想一個0到63的整數不要告訴你(廢話), 然後你依第六張、 第五張、第四張 . 第一張拿給他, 請他告訴你上面有沒有他想的數, 為了表示你是過目不忘, 交給他之前假裝看一看, 交給他後不要立刻 拿回來, 只請他分別放不同手中作為證據。 答案: 如果六張都沒有就是 0。 在每張給他之前看清楚第一個數, 只要他說有就加到答案中, 等到 最後一張給他, 等他說出有沒有後, 答案也出來了。 原理: 其實每張紙都是代表一個二進位數 (binary number)。 有就是 1, 沒有就是 0。 與上一遊戲一樣, 他已經把答案告訴你了 ! 因每張紙上第一位數就是該位的比重(weight, 加權)。,Binary-14,二進位也可以很有趣,/* 寫程式印出前述之六張卡片 */ for( int i=0; i = 5; i+) printf(“二進位也可以很有趣nn “); /* 印出第 i 張卡片 */ printf(“nnn“); ,Binary-15,二進位也可以很有趣,for( int i=0; i = 5; i+) printf(“二進位也可以很有趣nn “); for(k=0; k = 63; k+) if( k ,Binary-16,int yy = 1, 2, 4, 8, 16, 32;,for( int i=0; i = 5; i+) printf(“二進位也可以很有趣nn “); for(k=0; k = 63; k+) if( k 用一個陣列記住 2的 i 次方,Binary-17,if(必要時) printf(“n“);,int np = 0; /* numbers printed */ for(k=0; k = 63; k+) if( k ,Binary-18,if(必要時) printf(“n“);,int np = 0; for(k=0; k = 63; k+) if( k / 每印完八個數就換列 (new line) ,Binary-19,二進位也可以很有趣完整程式,/* 寫程式印出前述之六張卡片 */ #include int yy = 1, 2, 4, 8, 16, 32; int k, np; main( ) for( int i=0; i = 5; i+) printf(“二進位也可以很有趣nn “); np=0; /* 印出第 i 張卡片 */ printf(“nnn“); ,Binary-20,問題與思考,* 為什麼要依第六張(32開頭那張)、 第五張、 第四張 . 第一張拿給玩者? * 如果不用一個table (array) 來記住2的i 次方, 那要怎麼做? 用乘的 有何缺點? * 每張卡片最後一列也印了逗點, 如何改進? (hint: 加一列 if ),Binary-21,問題與思考 (ASCII code ),#include main( ) printf(“ %c 的 ASCII code是%dn“, 0, 0); printf(“ %c 的 ASCII code是%dn“, A, A); printf(“ %c 的 ASCII code是%dn“, a, a); 如果系統使用EBCDIC碼呢?,Binary-22,問題與思考 (ASCII code ),#include main( ) int i, k=0; for(i=65; i=122; +i) printf(“ %c 的 ASCII code“, i); printf(“ 是%d“, i); +k; printf(k%3=0? “n“ : “t“); printf(“n“ ); ,Binary-23,問題與思考 (中文碼?),#include unsigned char x9 = 0 ; main( ) int m = 0xa4, n=0x6a; x0 = m; x1=n; x2 = 0xae, x3=97; x4 = 0xa6, x5=0x6e; printf(“=%s=n“, x); ,Binary-24,Binary-25,實數與準確度(precision),#include float x, xdelta; int i; /*precision.c */ main( ) double y; x = 1234567.2, xdelta = 0.0001; printf(“Before loop, x=%fn“, x); for(i=1; i= 8000; i+) y = x + xdelta; /*/ if(i = 1) printf(“first y = %fn“, y); x = y; printf(“After loop, x=%fn“, x); ,Binary-26,float 實數準確度七位多,ccbsd2:precision/ gcc precision.c ccbsd2:precision/ ./a.out Before loop, x=1234567.250000 first y = 1234567.250100 After loop, x=1234567.250000 ccbsd2:precision/ float 實數佔用 32 bits,Binary-27,double 實數準確度,#include double x, xdelta; int i; /*precdbl.c */ main( ) double y; x = 1234567.2, xdelta = 0.0001; printf(“Before loop, x=%fn“, x); for(i=1; i= 8000; i+) y = x + xdelta; /*/ if(i = 1) printf(“first y = %fn“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论