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

如何直接以16進位方式進行加、減法???

尚未結案
clio4177
一般會員


發表:28
回覆:21
積分:9
註冊:2002-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-03 22:31:32 IP:220.138.xxx.xxx 未訂閱
各位大大: 小弟有如下這兩個問題請教: Q1:請問如下的16進位運算式該如何編譯才能得到結果? 01 FF FF=1FF Q2:如Q1所得之結果為1FF,若只要FF這個結果而不要1這個進位又該如何處置? 謝謝各位大大!!
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-04 08:23:00 IP:61.66.xxx.xxx 未訂閱
把你得到的結果&0xFF 例 (0x01 0xFF 0xFF)&0xFF = 0xFF
clio4177
一般會員


發表:28
回覆:21
積分:9
註冊:2002-07-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-04 13:32:14 IP:192.192.xxx.xxx 未訂閱
blk5743: 不好意思,我的問題是 AnsiString Str; Str="01FFFF"; Q1:我如何將這個字串以"01","FF"及"FF"的方式分開,並轉成 16進位制a=0x01,b=0xFF及c=0xFF, Q2:然後再將Int c = (a b c)並判斷c是否有進位? 例如: 0x01 0xFF 0xFF=0x1FF 並藉由您所提供之方法取得0xFF的值。
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-04 15:12:14 IP:221.169.xxx.xxx 未訂閱
這麼”難”的問題。不會是學校的作業吧。@.@
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-04 16:15:38 IP:61.66.xxx.xxx 未訂閱
這看起來是有點像作業 不過看起來clio4177也不年輕了 如果是真是作業,就當幫忙好了 裡面各語法的用法,不懂得就看一下Help吧 學會查Help和看Help也是很重要的    
 
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    BYTE buf[10] = {0};
    AnsiString Str;
    int i,j;        Str="01FFFF";
    HexToBin(Str.c_str(),buf,Str.Length());
    for ( i = 0, j =0; i < Str.Length()/2; i   )
    {
        j  = buf[i];
    }
    if ( j > 0xFF )
    {
        ShowMessage("進位了");
        j &= 0xFF;
    }
    Edit1->Text = IntToHex(j,2);    }
clio4177
一般會員


發表:28
回覆:21
積分:9
註冊:2002-07-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-04 23:44:36 IP:220.138.xxx.xxx 未訂閱
謝謝 暗黑破壞神與blk5743的關心跟幫忙,其這是我目前在編譯本研發單位自行開發PLC的硬體I/O點位測試的軟體通訊協定內容,因為之前沒有碰過這類的自訂協定,所以才在網上問這個令我頭疼的問題,不過感謝各位大大的幫忙,這個問題我已經找到解決的方法了。特別感謝blk5743所提供的意見及以往問過相關問題的前輩們...希望下次有機會再繼續向各位前輩請教....謝謝!!
系統時間:2024-05-19 17:01:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!