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

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




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

نام تاپيک: ذخیره ی اطلاعات بر روی رم در زبان سی

  1. #1
    اگه نباشه جاش خالی می مونه amir_70's Avatar
    تاريخ عضويت
    Oct 2008
    محل سكونت
    به امید روزی که ایران نباشم
    پست ها
    430

    پيش فرض ذخیره ی اطلاعات بر روی رم در زبان سی

    سلام ب همه

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

    به حر حال مبپرسم مدیران اگه دیدن جاش مناسب نیست بابا منتقل کنید دیگه حذف نکنید

    ببینید فرض کنید من توی سی یه متغییر از نوع int تعریف میکنم مثلا x=3
    این دستور یه متعیر ب اسم x تو رم من ذخیره میکنه...چون از نوع int هست تو کامپیوتر من ۴ , byte رو اشغال میکنه...حالا اگه بعدش من یه دستور بنویسم که بخوام از این متغیر x استفاده کنم کامپیوتر از کجا میفهمه که x در کجای حافظه ذخیره شده؟تا اونجایی که میدونم هر bit یه ادرسی داره ولی byte رو نمیدونم...در کل سوالم اینه که کامپیوتر از کجا میفهمه که متغیر x در کجای رم ذخیره شده؟

    نمیدونم منظورمو رسوندم یا نه؟

  2. #2
    اگه نباشه جاش خالی می مونه resident2011's Avatar
    تاريخ عضويت
    Nov 2010
    محل سكونت
    مگه مهمه همه جای ایرن سرای من
    پست ها
    230

    پيش فرض

    وقتی شما می نویسید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به انداز 4 بایت (به طور معمول) برای ما در حافظه جا رزرو میشه که به وسیله x به حافظه مورد نظر دسترسی پیدا می کنیم .خود x دارای یک آدرسه که این آدرس ،آدرس اولین بایت از حافظه اییه که برای ما رزرو شده و سیستم با داشتن همین آدرس می تونه بفهمه که کجای حافظه چه چیزی ذخیره شده یا ذخیره کنه و یا کجا قراره بره
    یه نگاهی به کد زیر بندازید بیشتر متوجه خواهید شد.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد بالا دقیقا نشون میده که هر متغیری که ما تعریف می کنیم خودش دارای یک آدرس .

  3. #3
    اگه نباشه جاش خالی می مونه amir_70's Avatar
    تاريخ عضويت
    Oct 2008
    محل سكونت
    به امید روزی که ایران نباشم
    پست ها
    430

    پيش فرض

    دوست عزیز مرسی از پاسخت بله اینو میدونستم که خود x یه ادرس داره ولی اونجایی که تو کدت زدی ادرس x این ادرس ایا اولین bit رو نشون میده یا اولین byte ؟؟؟

    به عبارتی تو سیستم رم غیر اینه که به صورت خانه هایی مربع شکل در کنار هم در نظر میگیریم...ایا این مربع ها بایت رو مشخص میکنن؟یا بیت؟به عبارت مشخص تر توی رم هر بیت ادرس داره یا هر بایت؟


  4. #4
    اگه نباشه جاش خالی می مونه resident2011's Avatar
    تاريخ عضويت
    Nov 2010
    محل سكونت
    مگه مهمه همه جای ایرن سرای من
    پست ها
    230

    پيش فرض

    آدرس اولین بایت از حافظه ای است که برای ما رزرو میشه اگه یکم بیشتر مثالی رو که براتون زدم بررسی میکردید خودتون متوجه میشدید.
    واسه اینکه بیشتر متوجه بشید مثال رو اجرا کنید البته فقط قسمت آرایه رو

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه خروجی به صورت زیر باشه

    0x7FFF833E8308
    0x7FFF833E830C
    0x7FFF833E8310
    0x7FFF833E8314
    0x7FFF833E8318

    هر آدرس با آدرس بعدی خودش به اندازه چهار واحد اختلاف داره .که دلیلش اینه که هر متغیر int تووی سیستم (سیستم بنده) 4 بایته .یعنی از طریق آدرسها به بایت دسترسی داریم نه بیتها .
    به نظرتون با صرف داشتن این آدرس ها میشه مثلا به بیت چهارم بایت دوم دسترسی پیدا کرد؟
    ولی در این شکی نیست که تمام داده ها در کامپیوتر به صورت بیت به بیت در خونه های حافظه ذخیر میشن و صد البته میشه بیت به بیت هر متغیری که ادرسش رو داریم دسترسی پیدا کرد .
    Last edited by resident2011; 01-08-2013 at 23:15.

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


  6. #5
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2013
    پست ها
    7

    پيش فرض

    با سلام بچه یه سوال داشتم
    چطوری میشه از رو ادرس متغییر مقدارشو بدست اورد؟

Thread Information

Users Browsing this Thread

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

User Tag List

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

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