اطلاعیه

Collapse
No announcement yet.

سوال در مورد برنامه نویسی 1768

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سوال در مورد برنامه نویسی 1768

    سلام.
    1.معنی UL و علامتی پشت مساوی چیه مثلا تو این دستور دیدم
    LPC_PINCON->PINSEL |= (3UL<<30

    2. توی دیتاشیت 1768 تو قسمت کاربردهای این میکرو یکی از کاربردهاشو نوشته white goods.کسی میدونه این یعنی چی؟

    بازم سوال دارم.ممنون

    #2
    پاسخ : سوال در مورد برنامه نویسی 1768

    نوشته اصلی توسط amateur92
    سلام.
    1.معنی UL و علامتی پشت مساوی چیه مثلا تو این دستور دیدم
    LPC_PINCON->PINSEL |= (3UL<<30

    2. توی دیتاشیت 1768 تو قسمت کاربردهای این میکرو یکی از کاربردهاشو نوشته white goods.کسی میدونه این یعنی چی؟

    بازم سوال دارم.ممنون
    UL مخفف unsigned long هست که در واقع داره نوع ثابت رو مشخص می کنه
    علامت قبل مساوی علامت or هست. توضیح اینکه دو عبارت پایین یکسانند:
    a=a|b
    a|=b

    وسایل خانگی مثل یخچال ، کولر و اجاق گاز و امثالهم به دلیل اینکه اوایل عمدتا به رنگ سفید لعاب داده می شدند(هرچند رنگ های دیگه هم موجود بودند) white goods گفته میشه

    پی نوشت: به وسایلی نظیر تلوزیون و رادیو و پلیر ها هم بعضا brown goods گفته میشه
    افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

    دیدگاه


      #3
      پاسخ : سوال در مورد برنامه نویسی 1768

      ممنون.
      منظورتون از ثابت همون 3 هست درسته؟اگه مشخص نکنیم کامپایل نمیشه؟

      دیدگاه


        #4
        پاسخ : سوال در مورد برنامه نویسی 1768

        نوشته اصلی توسط amateur92
        ممنون.
        منظورتون از ثابت همون 3 هست درسته؟اگه مشخص نکنیم کامپایل نمیشه؟
        بله، فکر نمی کنم تاثیر خاصی داشته باشه بهتره تست کنید.
        افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

        دیدگاه


          #5
          پاسخ : سوال در مورد برنامه نویسی 1768

          میشه بیشتر توضیح بدین؟ برای چی نوع ثابت رو مشخص میکنه؟ (مگه ثابت هم نوع داره؟ :question: )
          شرمنده من زبان سی رو زیاد وارد نیستم

          دیدگاه


            #6
            پاسخ : سوال در مورد برنامه نویسی 1768

            در ارتباط با UL خیلی تقریبی جواب می دم. دلیلش هم اینه که احساس می کنم قضیه رو کامل نمی دونم
            فرض کنید یه متغیر 8 بیتی دارید (یا ثابتی که قرار در 8 بیت ذخیره بشه). حالا اگر محتوای اون رو مثلا 8 بیت شیفت به چپ بدید چه اتفاقی می افته. طبیعتا اون چه باقی میمونه صفره چون بیت های که خارج شدن جایی ذخیره نشدن. ولی اگر به جای 8 بیتی بودن 16 بیت بود، بیت های 8 بیت پایین به 8 بیت بالا شیفت پیدا میکرد و نتیجه مورد نظر درست می شد.
            حالا در مورد 3UL<<30 هم باید دیدگاه 32 بیتی بودن عدد 3 باشه تا وقتی 30 بار شیفت پیدا کرد بشه 0b11000000000000000000000000000000
            حالا با توجه به سمت چپ مساوی ، کامپایلر متوجه این موضوع میشه و نیازی به نوشتن UL نیست و وجود اون تو sample ها احتمالا برای اینه که کد در کامپایلر های مختلف دقیقا به همین نحو تفسیر بشه و تفاوت محیط های برنامه نویسی تاثیری در منظور برنامه نویس نگذاره.
            باز هم اگر دوستان جایی مطلب موثقی در این مورد دیده باشن و لینک بدن ممنون میشم.
            افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

            دیدگاه

            لطفا صبر کنید...
            X