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

نام تاپیک: چگونگی تبدیل gethashcode 64 bit به 32 bit

  1. #1
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    چگونگی تبدیل gethashcode 64 bit به 32 bit

    وقتی در سیستم 32 بیتی یک مقداری را به hash تبدیل می کنیم و همان مقدار را در سیستم 64 بیتی تبدیل می کنیم نتیجه متفاوت مشاهده می شه
    آیا راه حلی هست که از 64 بیت به 32 بیت تبدیل کرد؟

  2. #2
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    نقل قول: چگونگی تبدیل gethashcode 64 bit به 32 bit

    این دستور را پیدا کردم
    اما نمی دونم چطوری ازش استفاده کنم
    لطفا یک راهنمای بدید

    /// <summary>
    /// Similar to String.GetHashCode but returns the same
    /// as the x86 version of String.GetHashCode for x64 and x86 frameworks.
    /// </summary>
    /// <param name="s"></param>
    /// <returns></returns>
    public static unsafe int GetHashCode32(string s)
    {
    fixed (char* str = s.ToCharArray())
    {
    char* chPtr = str;
    int num = 0x15051505;
    int num2 = num;
    int* numPtr = (int*)chPtr;
    for (int i = s.Length; i > 0; i -= 4)
    {
    num = (((num << 5) + num) + (num >> 0x1b)) ^ numPtr[0];
    if (i <= 2)
    {
    break;
    }
    num2 = (((num2 << 5) + num2) + (num2 >> 0x1b)) ^ numPtr[1];
    numPtr += 2;
    }
    return (num + (num2 * 0x5d588b65));
    }
    }


  3. #3
    کاربر تازه وارد آواتار mansourm
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    Registry
    پست
    95

    نقل قول: چگونگی تبدیل gethashcode 64 bit به 32 bit

    دوست عزیز شما کد hash x64 را در غالب یک string به تابع می فرستید و تابع خروجی 32 را مجدد در غالب unsafe intبرای شماارسال میکنه


    Int32 result= GetHashCode32("کد hash x64 جهت تبدیل به 32")
    اما فکر کنم از تابع بالا خطا داره
    آخرین ویرایش به وسیله mansourm : یک شنبه 21 آبان 1391 در 11:43 صبح

  4. #4
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    نقل قول: چگونگی تبدیل gethashcode 64 bit به 32 bit

    بله خطا داره
    نفهمیدم اشکالش چیه
    آیا راه دیگه ای هست؟

  5. #5
    کاربر تازه وارد آواتار mansourm
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    Registry
    پست
    95

    نقل قول: چگونگی تبدیل gethashcode 64 bit به 32 bit

    دوست عزیزبرای رفع خطای بالا چک گزینه allow unsafe code در مسیر زیر بزنید
    project-->project name properties

    WCnlV.png

    ببخشید پست بالا رم هم اصلاح می کنم فراخوانی به صورت زیر است چون 64 به 32 تبدیل میشه


    Int32 result= GetHashCode32("هش کد 64 بیتی");
    MessageBox.Show(result.ToString());

تاپیک های مشابه

  1. چگونگی تبدیل به exe بدون نیاز به VB و ...
    نوشته شده توسط Alen در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 20 آبان 1383, 07:30 صبح
  2. چگونگی تبدیل String به اinteger
    نوشته شده توسط sm در بخش VB.NET
    پاسخ: 4
    آخرین پست: دوشنبه 14 اردیبهشت 1383, 14:18 عصر
  3. چگونگی تبدیل table از paradox به sql server
    نوشته شده توسط maleki در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 09 اردیبهشت 1383, 12:51 عصر

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

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