如何寫[輸入2進制的字符串-->輸出十進制數值]呢? |
尚未結案
|
jl
一般會員 ![]() ![]() 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
各位兄台:
以下那段coding 怎樣才有效優化呢?請多多指正 function Bin2Dec (B : String) : integer; //輸入0,1字符串-->輸出十進制數值
var
B1 : String;
B3, B4, B5 : integer;
begin
B3 := length(B);
B5 :=0; for B4 := 1 to B3 do begin
B1 :=B[B4];
B5 := B5 StrToInt(B1)*Pow(2,(B3-B4));
end;
result :=B5;
end;
//輸入0,1字符串-->輸出十進制數值***********
jl 我是初學者,請指點 平常心活著
------
平常心活著 |
qoo1234
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
function Bin2Dec(BIN:string):LongInt; var T1,T2,Dec : LongInt; Error : Boolean; begin Error:=False; T1:=0; T2:=0; DEC:=0; for T1:=1 to length(BIN) do begin T2:=length(BIN)-T1; case BIN[T1] of '1' : DEC:=DEC Power(2,T2); '0' : DEC:=DEC 0; else Error:=True; end; end; Bin2Dec:=Dec; if Error then Bin2Dec:=0; end; ![]() |
speedup
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
|
jl
一般會員 ![]() ![]() 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
|
Brian77
中階會員 ![]() ![]() ![]() 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
|
jl
一般會員 ![]() ![]() 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |