نمایش نتایج 1 تا 2 از 2

نام تاپیک: نحوه جمع کردن دو عدد در مبنای 16

  1. #1
    کاربر دائمی آواتار Nima NT
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,338
    تشکر کردن
    1,452
    1,533 بار تشکر شده در 868 پست

    Question نحوه جمع کردن دو عدد در مبنای 16

    با سلام خدمت اساتید گرامی.
    بنده میخوام دو عدد در مبنای 16 رو در دلفی با هم جمع بزنم مثلا" فرض کنید میخواییم عدد 12F800 رو با -34 در مبنای 16 جمع کنم , چطوری این کار رو انجام بدم ,ممنون میشم کمک کنید.


    با تشکر
    پروتکتور ایرانی آرتـــــــــــــــــــان

    محصولی ایرانی جهت محافظت نرم افزارها در برابر مهندسی معکوس ، دخل و تصرف
    و کپی غیر غیر مجاز

  2. #2
    کاربر دائمی آواتار merced
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    خراسان جنوبي
    پست
    562
    تشکر کردن
    7
    210 بار تشکر شده در 177 پست

    نقل قول: نحوه جمع کردن دو عدد در مبنای 16

    به مبناي 10 تبديل كن. و كارت رو انجام بده . دوباره برگردون مبناي دلحواه
    براي تبديل به مبناي ده مي توني كلك بزني


    function HexToInt(HexNum: string): LongInt;
    begin
    Result:=StrToInt('$' + HexNum) ;
    end;

    اينم بر عكس


    unit HexConvert;

    interface

    uses SysUtils;

    function HexTo(Value: string): Longword;
    function ToHex(Value: Byte): string; overload;
    function ToHex(Value: Word; Splitter: Char): string; overload;
    function ToHex(Value: Cardinal; Splitter: Char): string; overload;

    implementation

    const
    HexTbl: string = '0123456789ABCDEF';

    function HexTo(Value: string): Longword;
    var
    intX, PosCnt: Byte;
    zwVal: Integer;
    begin
    Result := 0;
    PosCnt := 0;
    for intX := Length(Value) - 1 downto 0 do
    begin
    zwVal := Pos(UpperCase(Value[intX + 1]), HexTbl) - 1;
    if zwVal >= 0 then
    begin
    Result := Result + (zwVal shl (4 * PosCnt));
    Inc(PosCnt);
    end;
    end;
    end;


    function ToHex(Value: Byte): string;
    var
    zwVal: Byte;
    begin
    zwVal := (Value and $0F);
    Result := HexTbl[zwVal + 1];
    zwVal := (Value and $F0) shr 4;
    Result := HexTbl[zwVal + 1] + Result;
    end;


    function ToHex(Value: Word; Splitter: Char): string;
    begin
    Result := ToHex(Byte(Lo(Value)));
    Result := ToHex(Byte(Hi(Value))) + Splitter + Result;

    end;


    function ToHex(Value: Cardinal; Splitter: Char): string;
    var
    zwVal: Word;
    begin
    zwVal := Value and $0000FFFF;
    Result := ToHex(Word(zwVal));
    zwVal := (Value and $FFFF0000) shr 16;
    Result := ToHex(Word(zwVal)) + Splitter + Result;

    end;

    end.

  3. 2 کاربر از merced به خاطر این مطلب مفید تشکر کرده اند:


بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •