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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.