نمایش نتایج 1 تا 7 از 7

نام تاپیک: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

  1. #1

    چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    من برنامه دارم برای یک میکرو کنترولر مینویسم ! مشکلی که دارم اینه که مقادیری که میگیرم به صورت هگز هست و بعد از اینکه داخل یک متغییر INT قرار میدم و بعد میخوام استفاده کنم میبینم مقدار عوض شده

    برای مثال


    #include <stdio.h>
    #include <stdlib.h>


    int main(void) {
    int var = 0x10;
    printf("%d\n",var);

    }


    مقدار ورودی 0x10 ولی وقتی برنامه رو ران میکنم خروجی 16 !
    من همین مشکل رو در برنامه خودم دارم !

  2. #2

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    آخرین ویرایش به وسیله r00tkit : دوشنبه 22 شهریور 1389 در 10:10 صبح
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  3. #3

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    نقل قول نوشته شده توسط geek1982 مشاهده تاپیک
    با تشکر دوست عزیز

    اما فکر کنم متنی که من نوشتم درست نخوندین ! من برای استفاده از این نوع دادن هگز مشکل دارم ! نه برای چاپ کردنش .

    من وقتی یک مقدار هگز رو توی یک INT میریزم بعد که میخوام دوباره از همون مقدار استفاده کنم مقدار به چیز دیگه ای تغییر کرده !

    مثل int var = 0x10;

    ولی بعد که میخوام ازش استفاده کنم 16

  4. #4
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    نقل قول نوشته شده توسط franchesco مشاهده تاپیک
    مثل int var = 0x10;
    ولی بعد که میخوام ازش استفاده کنم 16
    0x10 هگز معادل 16 دهدهی است، شما برداشت اشتباهی از هگز دارید.
    عدد صحیح 10 در مبنای 16 میشه 0xA

  5. #5

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    نقل قول نوشته شده توسط Saeed_m_Farid مشاهده تاپیک
    0x10 هگز معادل 16 دهدهی است، شما برداشت اشتباهی از هگز دارید.
    عدد صحیح 10 در مبنای 16 میشه 0xA
    بله دوست عزیز
    خوب من الان باید چی کار کنم ؟

    من یک مقدار مثل 0x10 رو به فرض میگیرم میخوام توی یک متغییر ذخیره کنم و بعد به فرض اگه

    if(متغییر == 0xq0)


    درست جواب بده

    این تمام چیری که من لازم دارم !

  6. #6
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

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

    int main(void)
    {
    int i = GeValueFormHardware(); // مقداری که از میکرو یا سخت افزار میخونید
    if (i == 0x1A2B3C) // با مقدار موردنظر شما برابر هست یا نه؟ البته به هگز
    {
    cprintf("%x", i);
    // Do somthing
    }
    else
    // Do somthing else!
    return 0;
    }


    اگه کار با اعداد هگز براتون سخت هست، باید به عدد صحیح تبدیلش کنید بعد مقایسه کنید؛ مثلاً تو مثال بالا بجای 0x1A2B3C باید 1715004 بنویسید.
    امیدوارم درست فهمیده باشم منظورتون رو.

  7. #7

    نقل قول: چگونگی استفاده از این نوع داده به عنوان ورودی !!!

    ممنون دوست عزیز

    GeValueFormHardware();

    من با microC کار میکنم ... برنامه ای که من دارم مینویسیم برای PIC16f877A

    من در هر حال باید از مقدار هگز استفاده کنم نه دسیمال ! چون بعد از اون دوباره به مقدار هگز نیاز دارم.

    حالا من که با microC کار میکنم چطور میتونم این کار رو انجام بدم؟

    سرچ کردم ولی چیزی ندیدم!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •