سلام دوستان،
من یه برنامه با atmega128 برای خواندن کارتهای مایفر نوشتم، وقتی که می خوام عدد هگز خونده شده رو که هشت رقم هست، به دسیمال تبدیل کنم، چون ممکنه عدد مورد نظر خیلی بزرگ بشه از float استفاده کردم... اما اعداد از یه حدی که بالاتر بره خطا وجود داره. حتی وقتی خیلی ساده می خوام با دستور printf ، عدد بزرگ 0xffff ffff رو که تو یه متغیر float ذخیره شده نشون بدم، بدون اینکه هیچ عملیاتی روش انجام بدم باز هم خطا وجود داره. من با کامپایلر کدویژن کار می کنم، از طریق مسیر زیر:
Project/configure/C compiler/printf features
رو روی float, width, precision تنظیم کردم، ولی مشکلم حل نشده. ورژن کامپایلر هم V2.05.3 هست.
دوستان اگه بتونید، راهنمایی ام کنید، خیلی ممنونتون میشم.
با سپاس
جعفری
من یه برنامه با atmega128 برای خواندن کارتهای مایفر نوشتم، وقتی که می خوام عدد هگز خونده شده رو که هشت رقم هست، به دسیمال تبدیل کنم، چون ممکنه عدد مورد نظر خیلی بزرگ بشه از float استفاده کردم... اما اعداد از یه حدی که بالاتر بره خطا وجود داره. حتی وقتی خیلی ساده می خوام با دستور printf ، عدد بزرگ 0xffff ffff رو که تو یه متغیر float ذخیره شده نشون بدم، بدون اینکه هیچ عملیاتی روش انجام بدم باز هم خطا وجود داره. من با کامپایلر کدویژن کار می کنم، از طریق مسیر زیر:
Project/configure/C compiler/printf features
رو روی float, width, precision تنظیم کردم، ولی مشکلم حل نشده. ورژن کامپایلر هم V2.05.3 هست.
دوستان اگه بتونید، راهنمایی ام کنید، خیلی ممنونتون میشم.
با سپاس
جعفری
دیدگاه