欣乐

The eagles are coming!

导航

2014年9月19日 #

p93 加一减一运算,可能会产生上溢、下溢

摘要: //93program test;var j:shortint; k:byte;begin writeln('+1 :'); j:=127; writeln(j:4,' ',binstr(j,8)); inc(j); writeln(j:4,' ',binstr(j,8)); ... 阅读全文

posted @ 2014-09-19 12:06 欣乐 阅读(183) 评论(0) 推荐(1) 编辑

p88 用移位来算乘以10

摘要: //88program test;var i,j,k:byte;begin randomize; i:=random(9); //产生9以内的随机数 j:=i<<3; //左移3位,相当乘以8 k:=i<<1; //左移1位,相当乘以2 writeln(i,' ',j,' ',k); ... 阅读全文

posted @ 2014-09-19 12:03 欣乐 阅读(171) 评论(0) 推荐(1) 编辑

p87 右移

摘要: //87program test;var j,k:byte;begin randomize; j:=random(99); k:= j shr 1; //shift right ,右移 writeln(j,' ',k); writeln(binstr(j,8)); writeln(b... 阅读全文

posted @ 2014-09-19 11:58 欣乐 阅读(142) 评论(0) 推荐(0) 编辑

p83 左移运算

摘要: //83 逻辑左移program test;var j,k:byte;begin randomize; j:=random(99); k:= j shl 1; //shift left ,即左移 writeln(j,' ',k); //右边低位,不足部分,用0补足 writeln(bi... 阅读全文

posted @ 2014-09-19 11:55 欣乐 阅读(126) 评论(0) 推荐(0) 编辑

p78 德摩根定律

摘要: //78program test;var j,k:byte;begin randomize; //有这句,每次取得的随机数会不同。 j:=random(256); //取得256以内的随机数 k:=random(256); writeln( j,' ',k ); writeln; ... 阅读全文

posted @ 2014-09-19 11:52 欣乐 阅读(246) 评论(0) 推荐(0) 编辑

p75 逻辑非运算

摘要: //75program test;var i,j,k:byte;begin i:=%11111111; for j:=0 to 9 do begin k:=i xor j; writeln( binstr(j,8) ); writeln( binstr(k,8) ); //... 阅读全文

posted @ 2014-09-19 11:38 欣乐 阅读(127) 评论(0) 推荐(0) 编辑

p73 用异或运算反转特定位

摘要: //73program test;var i,j,k:byte;begin i:=%00001111; for j:=0 to 9 do begin k:=i xor j; //j的低四位被反转 writeln( binstr(j,8) ); writeln( binstr... 阅读全文

posted @ 2014-09-19 11:37 欣乐 阅读(168) 评论(0) 推荐(0) 编辑

p71 异或运算

摘要: //71program test;var i,j,k:byte;begin i:=%01001101; j:=%11010100; k:=i xor j; //异或运算 writeln( binstr(i,8) ); writeln( binstr(j,8) ); writeln( ... 阅读全文

posted @ 2014-09-19 11:35 欣乐 阅读(122) 评论(0) 推荐(0) 编辑

p67 把特定位置的位变成0,进行与运算

摘要: //67program test;var c:char; i,j,k:byte;begin i:=%00001111; for c:='0' to '9' do begin j:=byte(c); //将字符强制转化为整数 k:=i and j; //与运算 writel... 阅读全文

posted @ 2014-09-19 11:34 欣乐 阅读(146) 评论(0) 推荐(0) 编辑

p65 逻辑与运算

摘要: //65program test;var i,j,k:byte;begin i:=%01001101; j:=%11010100; k:=i and j; //与运算 writeln( binstr(i,8) ); writeln( binstr(j,8) ); writeln( b... 阅读全文

posted @ 2014-09-19 11:30 欣乐 阅读(142) 评论(0) 推荐(0) 编辑

p63 特定位置的位变1,进行或运算

摘要: //63program test;var i,j,k:byte;begin i:=%00110000; for j:=0 to 9 do begin k:=i or j; writeln( binstr(k,8), space(4), chr(k) ); end; //第二列输... 阅读全文

posted @ 2014-09-19 11:28 欣乐 阅读(138) 评论(0) 推荐(0) 编辑

第三章 p62 或运算

摘要: //61 图2program test;var i,j,k:byte;begin i:=%01001101; j:=%11010100; k:=i or j; //或运算 writeln( binstr(i,8) ); writeln( binstr(j,8) ); writeln(... 阅读全文

posted @ 2014-09-19 11:25 欣乐 阅读(138) 评论(0) 推荐(0) 编辑

p57 字符串的长度

摘要: //57program test;var sa:string; //短字符串类型。最多可以存放255个字符 sb:ansistring; //长字符串类型,理论上长度取决于内存大小begin sa:='ab*c'; sb:='def'; writeln(ord(sa[0]),' ',sa... 阅读全文

posted @ 2014-09-19 11:23 欣乐 阅读(126) 评论(0) 推荐(0) 编辑

p53 ASCII码

摘要: //53program test;var i:byte;begin for i:=0 to 127 do writeln( i:3, space(4), chr(i) ); //输出ASCII码对应字符end.这个应该不难理解。内存以字节为单位。字节中八位,只能存放0、1。一样的数据,... 阅读全文

posted @ 2014-09-19 11:13 欣乐 阅读(157) 评论(0) 推荐(0) 编辑

整数类型,如同时钟

摘要: 整数类型的变量,表达数据的大小是有限的。通过累加,我们可以观察到上溢的情况。通过减一,可以观察到下溢的情况。先观察无符号类型:program test;var i:longint; k:byte;begin k:=0; for i:=1 to 300 do begin write(k,... 阅读全文

posted @ 2014-09-19 11:09 欣乐 阅读(137) 评论(0) 推荐(0) 编辑

重要:原码、反码、补码...

摘要: 涉及计算机运算中的底层运算,所以一步步来。一、pascal中的整数类型Type Range Size in bytes Byte 0 .. 255 1 Shortint -128 .. 127 1 Word 0 .. 65535 2 Integer -32768 .. 32767 2 Longwor... 阅读全文

posted @ 2014-09-19 10:57 欣乐 阅读(650) 评论(0) 推荐(0) 编辑

p42 实验溢出(上溢)

摘要: //42 溢出program test;var i:longint; //i为循环变量 b:byte;begin b:=250; for i:=1 to 10 do begin write( b:4, space(4) ); //变量b的输入场宽为4,space(n)表示n个空格 ... 阅读全文

posted @ 2014-09-19 08:42 欣乐 阅读(156) 评论(0) 推荐(0) 编辑

P40 字节单位:KMGT

摘要: //40program test;uses math; //使用math单元,就可以用a**b的形式,代表a的b次方begin writeln( 2**10 ); //KB writeln( 2**20 ); //MB writeln( 2**30 ); //GB writeln( 2**4... 阅读全文

posted @ 2014-09-19 08:38 欣乐 阅读(1130) 评论(0) 推荐(1) 编辑

p38 二、八、十六进制的对应关系

摘要: //38program test;var i:byte;begin for i:=0 to 15 do begin writeln( binstr(i,8) ); //2进制 writeln( octstr(i,8) ); //8进制 writeln( hexstr(i,8) ... 阅读全文

posted @ 2014-09-19 08:35 欣乐 阅读(260) 评论(0) 推荐(0) 编辑

p13 数组元素的地址

摘要: //13program test;var i:longint; a:array[1..99] of byte; //定义byte类型的数组begin for i:=1 to 10 do begin writeln( binstr( dword(@a[i]), 32 ) ); //以二进制... 阅读全文

posted @ 2014-09-19 08:29 欣乐 阅读(135) 评论(0) 推荐(1) 编辑