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

請教有關進位轉換?

答題得分者是:richtop
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-15 21:55:58 IP:219.81.xxx.xxx 未訂閱
請問我使想使用所提供的函式HexToBin()將16進制的數值轉成2進制,但怎麼試就是不行,請問會的人能給我一個簡單的範例嗎? 謝謝.
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-15 23:17:47 IP:211.76.xxx.xxx 未訂閱
nlj859 您好:   extern PACKAGE int__fastcall HexToBin(char *Text, char *Buffer, int BufSize); 會將Text的兩個字元當成一個byte的兩個十六進位數字,所以合成為一個byte的值後,再依序填入Buffer中。 所以您如果要得到真正的數值,就必須自行將其轉換成您要的形式。 測試的結果:Text的內容必須是偶數個小寫英文字母或數字。    
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char hex[]="323130"; // 0x32='2', 0x31='1', 0x30='0'
  char bin[5];         // bin[]="210";
  int digit, binSize = sizeof(bin) / sizeof(bin[0]);      digit = HexToBin(hex, bin, binSize); //
  ShowMessage(bin); // show the content of bin, i.e., the string "210"      unsigned int value = 0;
  for (int k=0; k    RichTop 敬上    =====*****
把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題!
=====#####
        
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-16 00:45:02 IP:219.81.xxx.xxx 未訂閱
看來我誤解HexToBin()的用法了,原本我是想把"94"轉換成10010100. 現在可能要使用方法了. 謝謝.
系統時間:2024-05-18 7:13:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!