PIXNET Logo登入

風箏

跳到主文

準備好要開始~~~~亂談了嗎??~~~~~

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 1月 14 週三 200910:56
  • 基楚建設 - C++ 位元運算子

接下來看看「位元運算子」(Bitwise operator),數位設計上有AND、OR、NOT、XOR與補數等運算,在C++中提供這些運算的就是位元運算子,它們的對應分別是AND (&)、OR(|)、NOT(!)、XOR(^)與補數(~)
位元運算對初學者來說的確較不常用,但如果用的洽當的話,可以增進不少程式效率,例如下面這個程式可以判斷使用者的輸入是否為奇數:
#include <iostream>
using namespace std;
int main() {
    int input = 0;
    cout << "輸入正整數:";
    cin >> input;
    cout << "輸入為奇數?"
         << (input&1 ? 'Y' : 'N')
         << endl;
 
    return 0;
}
執行結果如下:
輸入正整數:5
輸入為奇數?Y
這個程式得以運算的原理是,奇數的數值若以二進位來表示,其最右邊的位元必為1,而偶數最右邊的位元必為0,所以您使用1來與輸入的值作AND運算,由於 1除了最右邊的位元為1之外,其它位元都會是0,與輸入數值AND運算的結果,只會留下最右邊位元為0或為的結果,其它部份都被0 AND運算遮掉了,這就是所謂「位元遮罩」,例如:
00000100     4
00000001     1
00000000     判斷為偶數
00000011     3
00000001     1
00000001     判斷為奇數
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(540)

  • 個人分類:C++
▲top
  • 1月 13 週二 200917:54
  • c++ 簡易判斷式(許多c like language 大都適用)

介紹C++中的「條件運算子」(Conditional operator),它的使用方式如下:
條件式 ? 成立傳回值 : 失敗傳回值
條件運算子的傳回值依條件式的結果而定,如果條件式的結果為true,則傳回冒號前的值,若為false,則傳回冒號後的值,下面這個程式可以作個簡單的示範:
#include <iostream>
using namespace std;
 
int main() {
    int score = 0;
    cout << "輸入學生分數:";
    cin >> score;
    cout << "該生是否及格?"
         << (score >= 60 ? 'Y' : 'N')
         << endl;
    return 0;
}
ex2:
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(2,526)

  • 個人分類:C++
▲top
  • 1月 10 週六 200910:10
  • ubuntu PC喇叭 (pcspkr) 關閉的方法


1.手動關閉
rmmod pcspkr
2.長久關閉
編輯這個檔案
/etc/modprobe.d/blacklist
在最後加入一行
blacklist pcspkr
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(283)

  • 個人分類:Unix-Like
▲top
  • 1月 09 週五 200916:37
  • ubuntu VNC VNCServer VNCClient 遠端桌面 最簡單的 設定

給該死的自己:之前弄了兩三天,設一堆有的沒的vnc server .......之類的弄不出結果(可能是那時眼花吧)
剛才把ubuntu  重裝後,再次找尋方法,才發現如此的簡單
=================================================
[Ubuntu] 遠端登錄整理 - Windows 或 Unix 下使用XDMCP 或 VNC 登錄
 
      上次搞定了 XDMCP 的遠端登入後(遠端桌面 By XDMCP),因為比較笨的關係,所以多花了點時間,這幾天把兩種登入到 Ubuntu 的方法搞定了。
      1. 首先是啟用的部份:
      1.1 開啟 XDMCP:
          「系統」->「管理」->「登入畫面」,切換到「遠端」的Tab,將「風格」改成「當成本地端」。
      如果你不想依賴 GUI:
          1. 編輯「/etc/gdm/gdm.conf」和「/etc/gdm/gdm.conf-custom」
          2. 找到 [daemon] 下面的「RemoteGreeter」,將前面的 # 拿掉。
          3. 找到 [xdmcp],將下面的「Enable=false」改成「Enable = true」。
      最後,重開 gdm:
          # sudo /etc/init.d/gdm restart
      
      1.2 VNC 的啟用方法:
          「系統」->「偏好設定」->「遠端桌面」,
          勾選「允許其他使用者觀看您的桌面」、「允許其他使用者控制您的桌面」、「使用者需要輸入密碼」,並且輸入密碼。
          而「詢問您以確認」則不要勾選!
      這樣就可以了。
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(6,792)

  • 個人分類:Unix-Like
▲top
  • 1月 07 週三 200914:10
  • utf8 範圍


避免我自己忘了
 
GBK和BIG5都是雙位元組字元,也就是用兩個位符來表示一個漢字。要判斷是否漢字,就必須知道它的有效範圍,下面是第一個位和第二個位的有效範圍:
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(115)

  • 個人分類:PHP
▲top
  • 1月 06 週二 200911:59
  • PHP utf8 字串判斷

function  is_utf8($str)  {
    $i=0;
    $len  =  strlen($str);
    for($i=0;$i<$len;$i++)  {
        $sbit  =  ord(substr($str,$i,1));
        if($sbit  <  128)  {
            //本字節為英文字符,不與理會
        }elseif($sbit  >  191  &&  $sbit  <  224)  {
            //第一字節為落於192~223的utf8的中文字(表示該中文為由2個字節所組成utf8中文字),找下一個中文字
            $i++;
        }elseif($sbit  >  223  &&  $sbit  <  240)  {
            //第一字節為落於223~239的utf8的中文字(表示該中文為由3個字節所組成的utf8中文字),找下一個中文字
            $i+=2;
        }elseif($sbit  >  239  &&  $sbit  <  248)  {
            //第一字節為落於240~247的utf8的中文字(表示該中文為由4個字節所組成的utf8中文字),找下一個中文字
            $i+=3;
        }else{
            //第一字節為非的utf8的中文字
            return  0;
        }
    }
    //檢查完整個字串都沒問體,代表這個字串是utf8中文字
    return  1;
}
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(772)

  • 個人分類:PHP
▲top
  • 12月 26 週五 200816:52
  • PHP 字串函數



AddSlashes:
字串加入斜線。


bin2hex:
二進位轉成十六進位。


Chop:
去除連續空白。


Chr:
傳回序數值的字元。


chunk_split:
將字串分成小段。


convert_cyr_string:
轉換古斯拉夫字串成其它字串。


crypt:
將字串用 DES 編碼加密。


echo:
輸出字串。


explode:
切開字串。


flush:
清出輸出緩衝區。


get_meta_tags:
抽出檔案所有 meta 標記的資料。


htmlspecialchars:
將特殊字元轉成 HTML 格式。


htmlentities:
將所有的字元都轉成 HTML 字串。


implode:
將陣列變成字串。


join:
將陣列變成字串。


ltrim:
去除連續空白。


md5:
計算字串的 MD5 雜湊。


nl2br:
將換行字元轉成 <br>。


Ord:
傳回字元的序數值。


parse_str:
剖析 query 字串成變數。


print:
輸出字串。


printf:
輸出格式化字串。


quoted_printable_decode:
將 qp 編碼字串轉成 8 位元字串。


QuoteMeta:
加入引用符號。


rawurldecode:
從 URL 專用格式字串還原成普通字串。


rawurlencode:
將字串編碼成 URL 專用格式。


setlocale:
設定地域化資訊。


similar_text:
計算字串相似度。


soundex:
計算字串的讀音值


sprintf:
將字串格式化。


strchr:
尋找第一個出現的字元。


strcmp:
字串比較。


strcspn:
不同字串的長度。


strip_tags:
去掉 HTML 及 PHP 的標記。


StripSlashes:
去掉反斜線字元。


strlen:
取得字串長度。


strrpos:
尋找字串中某字元最後出現處。


strpos:
尋找字串中某字元最先出現處。


strrchr:
取得某字元最後出現處起的字串。


strrev:
顛倒字串。


strspn:
找出某字串落在另一字串遮罩的數目。


strstr:
傳回字串中某字串開始處至結束的字串。


strtok:
切開字串。


strtolower:
字串全轉為小寫。


strtoupper:
字串全轉為大寫。


str_replace:
字串取代。


strtr:
轉換某些字元。


substr:
取部份字串。


trim:
截去字串首尾的空格。


ucfirst:
將字串第一個字元改大寫。


ucwords:
將字串每個字第一個字母改大寫。

(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(1,220)

  • 個人分類:PHP
▲top
  • 12月 03 週三 200816:10
  • PHP 運算子




PHP程式設計講義區




 












回主目錄  





基礎級課程
(資料以www.php.net官方網站內容為主,部份另自網路上取得,並盡可能註明來源出處,如有遺漏,敬請來信指正,謝謝!)





















編號


主題


內容大網


作業


備註


3

PHP 基本語法

  • 程式碼概論

  • 註解

  • 變數、常數

  • 資料型態

  • 運算子

  • 函式

  • 外部傳遞變數



作業一:陣列


作業二:
  簡易表單資料傳遞


 




運算子 ( Operator )



什麼是運算子(有人翻譯為「運算元」或「運算符號」),以下例來解釋:








$total = $a + $b;

$a + $b 稱為「表示式」(expressions)


+ 即稱為運算子(operator)


所以,在PHP的運算子裡,大致歸類下列十種:



  1. 算術運算子

  2. 指定運算子

  3. 位元運算子

  4. 比較運算子

  5. 錯誤控制運算子

  6. 執行運算子

  7. 加一/減一運算子

  8. 邏輯運算子

  9. 字串運算子

  10. 陣列運算子




 


 
1. 算術運算子


 

其實與一般的數學沒甚麼兩樣:




































運算子


範例


用途


+


$a + $b

$a 和 $b 的和。

-


$a - $b

$a 和 $b 的差。

*


$a * $b

$a 和 $b 的乘積。

/


$a / $b

$a 除以 $b 的商。

%


$a % $b

$a 除以 $b 的餘數。




 
 


 
2.指定運算子


 

基本的指定運算符就是“=”。並不稱做“等於”,實際上意味著把右邊運算式的值指定給左運算數。例如:








$a = $a + 2;

正確的解釋是將「右邊的$a + 2 的值」指定給「左邊的 $a 」。所以在程式技巧中,可以把表示式簡寫為下列方式:






























標準式


簡單式


$a = $a + $b


$a += $b


$a = $a - $b


$a -= $b


$a = $a * $b


$a *= $b


$a = $a / $b


$a /= $b


$a = $a % $b


$a %= $b


其他的運算子也可以以類似的方式簡單表達,而達成運算目的。





 
 


 
3. 位元運算子


 

將整數視為二進位的字串來加以運算;因為有點難,大致了解即可:









































範例


名稱


結果

$a & $bAnd(且)將在 $a 和 $b 中都為 1 的位設為 1。
$a | $bOr(或)將在 $a 或者 $b 中為 1 的位設為 1。
$a ^ $bXor(互斥)將在 $a 和 $b 中不同的位設為 1。
~ $aNot(補數)將 $a 中為 0 的位設為 1,反之亦然。
$a << $bShift left(左移)將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。
$a >> $bShift right(右移)將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。




 
 


 
4. 比較運算子


 

 
























































範例


名稱


解釋


$a == $b


等於

TRUE,如果 $a 等於 $b。

$a === $b


全等

TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 only)

$a != $b


不等

TRUE,如果 $a 不等於 $b。

$a <> $b


不等

TRUE,如果 $a 不等於 $b。

$a !== $b


非全等

TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 only)

$a < $b


小與

TRUE,如果 $a 小於 $b。

$a > $b


大於

TRUE,如果 $a 大於 $b。

$a <= $b


小於等於

TRUE,如果 $a 小於或者等於 $b。

$a >= $b


大於等於

TRUE,如果 $a 大於或者等於 $b。

另外一個條件運算符是“?:”(或三元)運算符,它和 C 以及很多其他語言的操作一樣。
(expr1) ? (expr2) : (expr3);
如果 expr1 的值為 TRUE,則此運算式的值為 expr2,如果 expr1 的值為 FALSE,則此運算式的值為 expr3。





 
 


 
5. 錯誤控制運算子


 

PHP 支援一個錯誤控制運算符「@」。當將其放置在一個
PHP 運算式之前,該運算式可能產生的任何錯誤資訊都被忽略掉。這功能有幾個目的:



  • 安全性:避免因程式上的某些錯誤訊息將一些訊息告知了外界,而暴露系統上可能的安全漏洞。

  • 美觀:因為錯誤訊息會造成顯示畫面的混亂。


基本,但這個功能得在安裝PHP時啟動 track_errors 功能(也可事後在php.ini中修改),運算式所產生的任何錯誤資訊才會被存放在總體變數
$php_errormsg 裡,並顯示出來。










01: <?php
02 $abc = @mysql_connect ('root', 'test', 'database');
03: ?>

 




 
 


 
6. 執行運算子


 

PHP 支持一個執行運算符:反引號「` .... `」。注意這不是單引號!PHP 將嘗試將反引號中的內容作為shell命令來執行,並將其輸出資訊返回(例如,可以賦給一個變數而不是簡單地丟棄到標準輸出)。













01: <?php
02: $output = `ls -al`;
03: echo "<pre> $output </pre>;
04: ?>

 
這只能在command文字命令模式下執行,不可透過Web
Server執行。
(影片示範)

注: 反引號運算子在啟動了 safe mode 或者關閉了 shell_exec() 時是無效的。





 
 


 
7. 加一/減一運算子


 

PHP 支持 C 風格的前/後加一與減一運算子。































範例


名稱


解釋


++$a


前加

$a 的值加一,然後返回 $a。

$a++


後加

返回 $a,然後將 $a 的值加一。

--$a


前減

$a 的值減一, 然後返回 $a。

$a--


後減

返回 $a,然後將 $a 的值減一。












01: <?php
02: echo "<h3>a++</h3>";
03: $a = 5;
04: echo "應該是 5: ".$a++."<br />\n";
05: echo "應該是 6: ".$a."<br />\n";
06:
07: echo "<h3>++a</h3>";
08: $a = 5;
09: echo "應該是 6: ".++$a."<br />\n";
10: echo "應該是 6: ".$a."<br />\n";
11:
12: echo "<h3>a--</h3>";
13: $a = 5;
14: echo "應該是 5: ".$a--."<br />\n";
15: echo "應該是 4: ".$a."<br />\n";
16:
17: echo "<h3>--a</h3>";
18: $a = 5;
19: echo "應該是 4: ".--$a."<br />\n";
20: echo "應該是 4: ".$a."<br />\n";
21:
22: ?>









執行結果
>>


 




 
 


 
8. 邏輯運算子


 

邏輯運算子主要用來測試條件句的真(true)或假(false),以判斷程式的某個段落是否繼續執行或跳脫。









































範例


名稱


解釋


$a and $b


And(邏輯與)

TRUE,如果 $a 與 $b 都為 TRUE。

$a or $b


Or(邏輯或)

TRUE,如果 $a 或 $b 任一為 TRUE。

$a xor $b


Xor(邏輯互斥)

TRUE,如果 $a 或 $b 任一為 TRUE,但不同時是。

! $a


Not(邏輯非)

TRUE,如果 $a 不為 TRUE。

$a && $b


And(邏輯與)

TRUE,如果 $a 與 $b 都為 TRUE。

$a || $b


Or(邏輯或)

TRUE,如果 $a 或 $b 任一為 TRUE。




 
 


 
9. 字串運算子


 

有兩個字串運算符。第一個是連接運算符(“.”),它返回其左右參數連接後的字串。第二個是連接指定運算子(“.=”),它將右邊參數附加到左邊的參數後。










01: <?php
02: $a = "PHP程式設計";
03: $b = $a . "基礎班";
04: echo $b . "<BR>";
05:
06: $c = "台中市";
07: $c .= "資訊網路中心";
08: echo $c;
09: ?>









執行結果
>>






 
 


 
10.陣列運算子


 

PHP 僅有的一個陣列運算子是「 +」 運算子。它把右邊的陣列附加到左邊的陣列後,但是重複的索引值不會被覆蓋。













01: <?php
02: $a = array("1" => "一月", "2" => "二月");
03: $b = array("1" => "星期一", "2" => "星期二", "3" => "星期三");
04: $c = $a + $b;
05:
06: var_dump($c); // var_dump( ) 是顯示變數內容的函數
07: ?>









執行結果
>>



第06行的結果將會是:


array(3) { [1]=> string(4)
"一月" [2]=> string(4) "二月"
[3]=> string(6) "星期三" }


表示 $c 變數是array (陣列),裡面的元素中,索引值1是字串,字串長度是4,內容是"一月",以下以此類推。






 
 



運算子優先順序
運算子優先順序指定了兩個運算式綁定得有多“緊密”。例如,運算式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先順序比加號(“+”)高。必要時可以用括弧來強制改變優先順序。例如:(1
+ 5) * 3 的值為 18。
下表從低到高列出了運算子的優先順序。




























































































優先等級


結合方向


運算子




































高

 

↑

 
 
 
 

↓

 

低



左

,

左

or

左

xor

左

and

右

print

左

= += -= *= /= .= %= &= |= ^= ~= <<= >>=

左

? :

左

||

左

&&

左

|

左

^

左

&

無

== != === !==

無

< <= > >=

左

<< >>

左

+ - .

左

* / %

右

! ~ ++ -- (int) (float) (string) (array) (object) @

右

[

無

new




 












回主目錄  












版權聲明:Copyright
© 1999-2003 王勝雄 Kevin Wang





一、


本網站所提及的註冊商標、公司名稱均屬於該登記合法註冊的公司所有。



二、



本網站之圖文設計、課程編輯內容等均屬作者所有,若用於其他用途(例如商業用途),需經作者同意,除此之外,本網站所有文件為自由文件(FDL),可自由複製、修改、散佈,但請保留版權聲明。


 

(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(2,116)

  • 個人分類:PHP
▲top
  • 7月 03 週四 200810:13
  • php xml2array 實用的function

    function xml2array($XMLData){
        $encoding = "UTF-8";
        $xml_parser = xml_parser_create($encoding);
        xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8" );
        xml_parse_into_struct($xml_parser, $XMLData, $vals, $index);
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(533)

  • 個人分類:PHP
▲top
  • 7月 02 週三 200813:36
  • ASP Send Mail

簡單的Sample Code
<%        set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.BodyFormat = 0
Mail.MailFormat = 0
Mail.From = "寄件者"
Mail.To = "收件者"
Mail.Subject = "主旨"
Mail.body ="內容"
Mail.Send
Set Mail=Nothing
%>
功能較多的Sample Code
<%Set email = Server.CreateObject("CDO.Message")
email.From ="寄件者"
email.To ="收件者"
email.Subject ="主旨"
email.HtmlBody ="內容"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1"  'SMTP Server
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "帳號"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "密碼"
email.Configuration.Fields.Update
email.Send
Set email = nothing
%>
mail 物件介紹
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(2,881)

  • 個人分類:ASP
▲top
«12345»

近期文章

  • linux 解rar 多檔 command line cmd
  • linux 主機板型號
  • shell script 大量/批次 修改檔名 大寫小寫~~~
  • XP 設定 預設 登入 開機 免登入
  • SciTE Text Editor 中文 相關 設定 編輯器 ubuntu
  • ubuntu gedit(Gedit) 中文 亂碼 編碼 問題
  • 三用電錶 的用法、三用電表 用法/零件測試(好用)
  • shell script BASH 教學 基楚 概念
  • Outlook 2G ansi Unicode 限制 轉檔 問題
  • ubuntu firefox flash 中文顯示 變方塊 問題修正

文章分類

toggle 系統管理 (2)
  • Windows (4)
  • Unix-Like (10)
toggle 程式語言 (5)
  • C++ (6)
  • ASP (1)
  • ANSI SQL (2)
  • ACM (2)
  • PHP (9)
toggle 風箏 (4)
  • 電子空間 (1)
  • 亂談囉 (1)
  • 生活週記 (1)
  • 電腦亂談 (4)
  • 未分類文章 (1)

部落格文章搜尋