pascal中的xor,shr,shl,Int(),ArcTan()等運算子詳解
阿新 • • 發佈:2019-01-24
一、數學函式: Inc(i) 使I:=I+1; Inc(I,b) 使I:=I+b; Abs(x) 求x的絕對值 例:abs(-3)=3 Chr(x) 求編號x對應的字元。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’ Ord(x) 求字元x對應的編號。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1 Sqr(x) 求x的平方。 例:sqr(4)=16 Sqrt(x)求x的開方. 例:sqrt(16)=4 round(x) 求x的四捨五入 例:round(4.5)=5 trunc(x) 求x的整數部分 例:trunc(5.6)=5 結果是integer型 int(x) 求x的整數部分 例int(5.6)=5.0 結果是real型 frac (x)求x的小數部分 例 frac(5.6)=0.6 pred(x) 求x的前導 pred(‘b’)=’a’ pred(5)=4 pred(true)=false succ(x) 求x的後繼 succ(‘b’)=’c’ succ(5)=6 succ(false)=true odd(x) 判斷x是否為奇數。如果是值為true,反之值為false. Odd(2)=false odd(5)=true power(a,n) 求a的n次方 power(2,3)=8 random 取0~1之間的隨機數(不能取到1) randomize 隨機數的種子函式,在每次設定隨機數時都要把這個函式放在最前面. Fillchar(a,size(a),0) 陣列初始化,即把陣列a的值全部置為0 SHR: x SHR n 把x換成二進位制後向右移n位,相當於 把x 除以 2n SHL: x SHL n把x換成二進位制後向左移n位,相當於 把x 乘以 2n 二、字串函式 1. 連線運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn. 例:concat(‘11’,’aa’)=’11aa’; 2. 求子串。 Copy(s,I,L) 從字串s中擷取第I個字元開始後的長度為l的子串。 例:copy(‘abdag’,2,3)=’bda’ 3. 刪除子串。過程 Delete(s,I,l) 從字串s中刪除第I個字元開始後的長度為l的子串。 例:s:=’abcde’;delete(s,2,3);結果s:=’ae’ 4. 插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置 例:s:=abc;insert(‘12’,s,2);結果s:=’a12bc’ 5. 求字串長度 length(s) 例:length(‘12abc’)=5 6. 搜尋子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0. 例:pos(‘ab’,’12abcd’)=3 7. 字元的大寫轉換。Upcase(ch) 求字元ch的大寫體。 例:upcase(‘a’)=’A’ 8. 數值轉換為數串。 過程 Str(x,s) 把數值x化為數串s. 例:str(12345,s); 結果s=’12345’ 9. 數串轉換為數值。 過程val(s,x,I) 把數串s轉化為數值x,如果成功則i=0,不成功則I為無效字元的序數 例:val(‘1234’,x,I);結果 x:=1234