PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
10180 00/02/09 10:02:14 RE(4):PB5.0.02: PBで排他的論理和を求める方法 By Chicchi
10177 00/02/09 07:59:21 RE(3):PB5.0.02: PBで排他的論理和を求める方法 By M.M
10174 00/02/08 18:22:22 RE(2):PB5.0.02: PBで排他的論理和を求める方法 By Chicchi
10172 00/02/08 15:46:59 RE(1):PB5.0.02: PBで排他的論理和を求める方法 By めめ
10166 00/02/08 11:00:35 PB5.0.02: PBで排他的論理和を求める方法 By Chicchi

カテゴリ:スクリプトの記述
日付:2000年02月09日 07:59 発信者:M.M
題名:RE(3):PB5.0.02: PBで排他的論理和を求める方法

Chicchiさん、こんばんは。

>PowerBuilderで下記例のような排他的論理和を求めたいのですが、
>適切な関数を見つけることができませんでした。

PowerScriptは、CやC++のように標準でInt型変数の論理演算はできません。
自分で関数を定義する必要があります。

実験君してみましたので、下記のスクリプトを参考にしてください。


//関数 uf_byte_xor
//二つのInteger型変数のXOR演算を実行する
// a(int) :パラメータ1(0-255の整数)
// b(int) :パラメータ2(0-255の整数)

int a1[0 to 7],b1[0 to 7],c1[0 to 7],d,i

//Integer型変数a,bを2進数に変換し、bit情報をa1[],b1[]に代入する
for i=7 to 0 step -1
a1[i] = truncate(a / (2^i),0)
if a1[i]=1 then a -=(2^i)
b1[i] = truncate(b / (2^i),0)
if b1[i]=1 then b -=(2^i)
next

//bit単位で(a1 xor b1)の演算を実行し、c1[]に代入
for i=0 to 7
c1[i] = a1[i] + b1[i]
if c1[i]=2 then c1[i]=0
next

//c1[]に代入されたbit情報を、Integer値に変換
d = 0
for i=0 to 7
if c1[i]=1 then d +=(2^i)
next

return d



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.