首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于按位逻辑与运算,该怎么解决

2012-02-12 
关于按位逻辑与运算11011110和11111111按位逻辑与运算后结果为11011110怎么得到的?[解决办法]写了一个小函

关于按位逻辑与运算
11011110和11111111按位逻辑与运算后结果为11011110   怎么得到的?

[解决办法]
写了一个小函数,如果楼主用得上,就用。

uses Math;//因为用了Min()函数,所以引用它
{$R *.dfm}

function AndBinStr(const S1, S2: string): string;
//用二进制字符串表示的两个数按位与后返回二进字符串
var I, L : integer;
begin
Result := ' ';
L := Min(Length(S1),Length(S2));
for I := 1 to L do
Result := Result + IntToStr(StrToInt(S1[I]) and StrToInt(S2[I]));
end;

procedure TForm1.Button1Click(Sender: TObject);// 测试
var
S1, S2 ,S : string;
begin
S1 := '11011110 ';
S2 := '11111111 ';
S := AndBinStr(S1,S2);
Showmessage(S);
end;
[解决办法]
十进制转二进制串
function IntToBin(A:Integer):string;
var
i:Integer;
begin
for i:=0 to SizeOf(Integer)*8-1 do
begin
Result:=IntToStr((A shr i) and 1)+Result;
end;
end;

热点排行