اطلاعیه

Collapse
No announcement yet.

مشکل در برنامه نویسی c

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

    #16
    پاسخ : مشکل در برنامه نویسی c

    سلام

    دوستان یه مشکل تو برنامه نویسی به زبان c بوجود اومده که انتظاری که از برنامه دارم با چیزی که در عمل اتفاق میوفته متفاوت هست
    این کد رو نگاه کنید
    کد:
    [FONT=Yekan]	[/FONT][FONT=Yekan]    a=(float)(800/312);
    [/FONT][FONT=Yekan]		[/FONT][FONT=Yekan]b=(float)(500/a);[/FONT]
    در این کد عدد 800 به 312 به صورت اعشاری تقسیم شده و نتیجه تو متغیر a ( از نوع float هست ) ریخته شده
    خط بعدی عدد 500 رو به a به صورت اعشاری تقسیم کردیم و نتیجه رو تو متغیر b ( از نوع صحیح هست ) ریختیم ( هدف این بوده که قسمت اعشاری از بین بره )
    انتظاری که دارم اینه که مقدار متغیر b بشه عدد 195
    اما وقتی این متغیر رو روی پورت میکرو میریزم عدد 250 بدست میاد !!

    کسی میتونه دلیل این مسئله رو توضیح بده ؟؟؟؟
    آرزوی سرافرازی برای ایران عزیز . . .


    دیدگاه


      #17
      پاسخ : مشکل در برنامه نویسی c

      کد درست این هست.
      کد:
      [FONT=Yekan]    a=(float)((float)800/(float)312);
      [/FONT][FONT=Yekan]b=(float)(500/a);
      [/FONT]
      در کد شما ابتدا تقسیم از نوع باینری هست که جواب 2 می شود ( 2.56 در حالت باینری به نزدیک ترین عدد گرد میشود یا قسمت اعشاری حذف میشود). بعد 500/2 میشود
      در تایپ کانورژن باید خیلی حواستان جمع باشد و گرنه به مشکلات بزرگی میخورید

      دیدگاه

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