关于布尔型的小问题.(50分)

  • 主题发起人 主题发起人 silverwolf
  • 开始时间 开始时间
S

silverwolf

Unregistered / Unconfirmed
GUEST, unregistred user!
dephi中没有隐式转换boolean为int型,如果我要写一个多个boolean变量相加,
怎样写效率较高?(例如 a,b,c,d为三个布尔型量,a,b,d为真,c为假,
a+b+c+d=1+1+0+1=3)
 
不好意思,已经不会Delphi了,只好用C写了。
 
看看这个
 
var a:boolean;
i:integer;
begin
i:=1;
a:=true;
i:=i+ord(a);
showmessage(inttostr(i));
 
是执行效率,还是写代码的效率?
如果是后者:
int function add(boolean b)
{
if (b)
return 1;
else

return 0;
}
int xx=add(a)+add(b)+add(c);
不算很麻烦吧!
其他方法,我再想想。
 
是指执行的效率,天真的方法不错。还有没有更好的。
 
var
a,b,c:boolean;
begin
a:=true;
b:=false;
c:=true;
label1.caption:=inttostr(0+ord(a)+ord(b)+ord(c));
end;
 
还是
integer(a)+integer(b)+integer(c)+integer(d)
 
感觉pipi的好像转换速度会快些(机内表示的话)
 
Pipi.就是比较厉害!
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部