一個int轉十六進位String的小bug |
答題得分者是:jow
|
dan500
一般會員 發表:4 回覆:3 積分:1 註冊:2007-10-28 發送簡訊給我 |
我的程式會抓許多char回來並需要用十六進位表示其值
例如....抓到某個char,其值為 00000010....則我希望印出02 但當我每次只要抓到第一個Bit(MSB)是1時...就會出現怪現象 他會在正確的值前印上六個F 例: char info[6]; info[0] = 0x02; info[1] = 0xA0; info[2] = 0x81; info[3] = 0xB3; info[4] = 0xFF; info[5] = 0x80; AnsiString str; for (int i=0; i<6; i ) { str = IntToHex(info[i],2); str = " "; } Form1->Memo1->Text = str; 則會印出 02 FFFFFFA0 FFFFFF81 FFFFFFB3 FFFFFFFF FFFFFF80 請問這是為什麼嗎? 謝謝 |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
dan500
一般會員 發表:4 回覆:3 積分:1 註冊:2007-10-28 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
dan500
一般會員 發表:4 回覆:3 積分:1 註冊:2007-10-28 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
on-line help of IntToHex
VCL Reference IntToHex ------------------------------------------------------------- Returns the hex representation of an integer. Unit SysUtils Category numeric formatting routines extern PACKAGE AnsiString __fastcall IntToHex(int Value, int Digits); extern PACKAGE AnsiString __fastcall IntToHex(__int64 Value, int Digits); Description IntToHex converts a number into a string containing the number's hexadecimal (base 16) representation. Value is the number to convert. Digits indicates the minimum number of hexadecimal digits to return. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |