تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: یک سوال ساده از عملگرها

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2007
    محل سكونت
    اصفهان
    پست ها
    134

    پيش فرض یک سوال ساده از عملگرها

    سوال این است که:حاصل عبارت روبه رو چه می شود
    25 imp 41 eqv 37
    می دانم که eqvاولویت اش بیشتر است می دانم باید به nbcd تبدیل شود تا به جواب برسیم
    41=00101001
    37=00100101
    eqv=11110011=-13
    چه طور جواب -13 می شود من هرکار می کنم عددی مثبت بالای 200 می رسم من فقط یک قسمت اش گفتم

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2007
    محل سكونت
    اصفهان
    پست ها
    134

    پيش فرض

    یعنی هیچ کس نمی دونه
    این تست ویژوال چه طور هیچ کس نمی دونه

  3. #3
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض

    سلام.
    فکر کنم کسی متوجه نشد...
    متاسفانه منم متوجه نشدم...
    اگه میتونین واضح تر بدید و یک یا چند مثال هم بزنید.

    موفق باشید.

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2007
    محل سكونت
    اصفهان
    پست ها
    134

    پيش فرض

    فرض کنید یک عبارت به شما داده اند جواب اش از شما خواسته اند
    حالا این عبارت این است
    41 eqv 37
    جواب شما چه عددی همین

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اول باید بدانید که محاسبات بیتی وابسته است به انداره متغیرهای مورد محاسبه.

    مثلاً ...
    جواب محاسبه فوق از 8 تا 64 بیتی با و بدون علامت در VB9 چنین خواهد بود:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شاید به نظر شما این جواب ها مختلف باشند ولی از دید ریاضی مبنای دو این اعداد تغریباً برابر هستند و مشکل شما در عدم درک این تفاوت ناشی از عدم اطلاع از نحوه ذخیره اعداد منفی در رایانه میشود که طبق روشی موسوم به مکمل2 انجام میشود.

    روش مکمل دو برای اعداد منفی چنین است که کل بیتهای عدد را معکوس کرده و سپس با 1 واحد کم میشود.
    مثلاً اگر محاسبه یک بایتی باشد 13- چنین محاسبه و ذخیره میشود.
    (در ج صفرهای اضافی تا انتهای متغییر بسیار لازم است!)

    عدد 13 در قالب 8 بیتی
    00001011

    معکوس میشود
    11110100

    1- میشود
    11110011

    این عدد 13- در RAM در شرایط یک بایتی خواهد بود (SByte یا Int8 در VB9)

    پس 11110011 در شرایط SByte یا Int8 میشود 13- ولی همین 11110011 اگر داخل یک Byte یا UInt8 باشد معنی 243+ را میدهد !!!!

    حالا وقتی متغییر بزرگتر شود (مثلاً 16 بیتی) صفرهای خالی قبل از ان همه یک شده و عدد را بزرگتر میکنند.

    عدد 13 در قالب 16 بیتی
    0000000000001011

    عدد 13- در قالب 16 بیتی
    1111111111110011

    باز هم 1111111111110011 در قالب علامت دار 16 بیتی (مثل Short یا Int16 در VB9) معنی 13- میدهد ولی همین مقدار در یک قالب 16 بیتی بدون علامت (مثل UShort یا UInt16 در VB9) معنی 65523 میدهد!!!

    میبینید که فرق خاصی ندارد و همه جوابها یکی است.

    =====

    ولی اگر میخواهید بدانید که روش ریاضی مکمل2 برای جبر مبنای 2 از کجا آمده به اینت دقت کنید:

    پس 13+ این شد:
    00001011

    و 13- هم این شد:
    11110011

    خوب حالا اگر 13+ با 13- جمع شود چه میشود؟
    00000000

    خوشتان امد! این یعنی دنیای زیبا و جذاب ریاضی.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •