請大家幫忙:
原來的程式,函式A把十進制引數a轉換成十六進制數b。現在要求不改動函式A,要在A運行之后得到的數b為十進制數。在呼叫函式A之前應該怎么處理,把引數傳給A,不改變函式A,要求得到的數是十進制的?
uj5u.com熱心網友回復:
數字對計算機來說都一樣,不管是什么進制。進制表示只對我們人的感官而已,只有要顯示為字串形式讓我們看到,進制才有區別。
你還是代碼距離說明吧
uj5u.com熱心網友回復:
你還是用代碼說明問題吧uj5u.com熱心網友回復:
說的有點模糊,你的函式A有沒有做數處理,比如對a做運算啥的?還是說他只是一個單純的轉換函式?
uj5u.com熱心網友回復:
如果是后者,我也只能猜你的意圖,特別是b,到底長什么樣子?字串嗎?是字串的話,有沒有加些東西,比如原來是十六進制11AA,輸出后是“11AA”還是“11 AA”還是“11AAH”或者其它有加東西的。如果是原來的樣子,那意思就相當于“一個十進制數m,找一個十進制數n,要求A(n)=m”(A是你的函式)這樣?
uj5u.com熱心網友回復:
這么奇葩的需求,下面就是 a 的函式的反函式function a(p:string):string;
begin
Result := Format('%x', [strtoint(p)]);
end;
function inva(p:string):string;
begin
Result := IntToStr( StrToInt('$'+p) );
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(a(inva('112233')));
end;
uj5u.com熱心網友回復:
路過學習一下uj5u.com熱心網友回復:
除非你的數字是用字串表示的,否則沒有進制問題,都是二進制。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/118730.html
標籤:語言基礎/算法/系統設計
