全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:963
推到 Plurk!
推到 Facebook!

如何寫[輸入2進制的字符串-->輸出十進制數值]呢?

尚未結案
jl
一般會員


發表:17
回覆:34
積分:10
註冊:2004-02-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-08 00:21:28 IP:202.175.xxx.xxx 未訂閱
各位兄台: 以下那段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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-08 02:11:56 IP:218.163.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-08 09:22:23 IP:61.224.xxx.xxx 未訂閱
function Bin2Dec (B : String) : integer;
var i,long:integer;
begin
 result := 0;
 long :=length(B);
 for i :=1 to long do
  if B[i] = '1'  then result :=  result   1 shl (long-i);
end;
混心雜欲 棄修身~唉
------
唉~
jl
一般會員


發表:17
回覆:34
積分:10
註冊:2004-02-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-10 08:18:12 IP:202.175.xxx.xxx 未訂閱
謝謝qoo1234, speedup 二位 問題已得到完滿的解答。 感謝各位 平常心活著
------
平常心活著
Brian77
中階會員


發表:8
回覆:114
積分:94
註冊:2002-05-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-10 12:05:34 IP:61.221.xxx.xxx 未訂閱
function Bin2Dec(B:String):integer;
var i,mLen:integer;
begin
  Result:=0;
  mLen:=Length(B);
  i:=1 to mLen do Result:=(Result shl 1) (Byte(B[i]) and 1);
end;
這支除了迴圈較花時間, 其它運算都是基本邏輯運算 執行速度會較佳
jl
一般會員


發表:17
回覆:34
積分:10
註冊:2004-02-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-11 11:29:40 IP:202.175.xxx.xxx 未訂閱
To Brian77: 多謝您的回覆,正如您所說,這支除了迴圈較花時間, 其它運算都是基本邏輯運算執行速度會較佳。 十分感激 jl 平常心活著
------
平常心活著
系統時間:2024-06-25 14:34:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!