صفحه 2 از 2 اولاول 12
نمایش نتایج 41 تا 47 از 47

نام تاپیک: جابجایی دو متغییر بدون استفاده از متغییر کمکی

  1. #41
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    علیرضا جان یک دنیا ممنون. بدون ذره‌ای کم و کاست دلایلت برای من قابل قبوله.

  2. #42
    سلام
    برای بدست آوردن ماکزیمم و مینیمم بدون شرط فرمولش همون قدر مطلق دار است اما اینطور که پیداست دعوا سر تابع قدر مطلق بدون پرش است خوب این هم بدون پرش و البته به زبان اسمبلی که کدش هم خیلی کوتاه است هم خیلی سریع :‌ (اینکه چجوری کار میکنه رو از توی منوال های اینتل بخونید) در ضمن روی سی پی یو های پنتیوم ۶ به بالا کار میکنه.

    فرض که عدد صحیح علامتدار در رجیستر eax ریخته شده است خروجی شامل قدر مطلق هم در eax بازگردانده میشود :

    mov eax,n
    mov ebx,eax
    neg ebx
    or eax,eax
    cmovs eax,ebx

    ممنون
    سیداف

  3. #43
    ببخشید یه کم کد شما اشتباه هست :wink:
    اولا تمام جنگ ها بر سر این بود که if نداشته باشه ولی دستور CMOV(XX) eax,ebx دارای شرط میباشد. مراجعه شود به همون Manual صفحه 120 از manual دومی :wink:

  4. #44
    سلام

    بله مشخصه که شرط داره اما شرطش در لول Microcode پیاده سازی شده و بسیار سریع انجام میشه. پرش هم نداره.
    البته این روش بیشتر برای بهینه سازی سرعت مفیده :) حیف که تاپیکش مفقود الاثر شد ;) به هر حال یه روش tricky بود...

    ممنون
    سیداف

  5. #45

    x:=x+y;
    y:=x-y;
    x:=x-y;
    :wink:

  6. #46

    Arrow نقل قول: جابجایی دو متغییر بدون استفاده از متغییر کمکی

    نقل قول نوشته شده توسط Kambiz مشاهده تاپیک
    برای جابجا کردن دو تا متغیر با هر اندازه و هر نوعی:
    A <- A xor B
    B <- A xor B
    A <- A xor B


    shaniaki جان بهتره موضوع جدید رو در تاپیک جدید عنوان کنیم.
    ممکنه یکم در باره این کد توضیح بدی؟ نمی فهمم اون اشاره گر چیکار می کنه و به بعد

  7. #47

    نقل قول: جابجایی دو متغییر بدون استفاده از متغییر کمکی

    نقل قول نوشته شده توسط viviano مشاهده تاپیک
    ممکنه یکم در باره این کد توضیح بدی؟ نمی فهمم اون اشاره گر چیکار می کنه و به بعد
    اونها اشاره‌گر نیستن. علامت کوچکتر هستن:



    A <- A xor B
    B <- A xor B
    A <- A xor B



    یعنی A xor B را سه بار انجام بده و نتیجه رو به ترتیب در A و B و A قرار بده.
    آخرین ویرایش به وسیله مسعود اقدسی فام : شنبه 06 فروردین 1390 در 17:29 عصر

صفحه 2 از 2 اولاول 12

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

  1. تغییر فایل اجرایی در زمان اجرا
    نوشته شده توسط shahram197070 در بخش VB.NET
    پاسخ: 13
    آخرین پست: جمعه 02 اردیبهشت 1390, 18:29 عصر
  2. تغییر شکل آیکن فایل اجرایی
    نوشته شده توسط am_sanatiz در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: سه شنبه 20 تیر 1385, 18:29 عصر
  3. بخش هایی از سایت که زیاد تغییر نمی کنند
    نوشته شده توسط nazaninam در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: شنبه 17 تیر 1385, 21:43 عصر

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

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