اطلاعیه

Collapse
No announcement yet.

کمک فوری در متلب

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

    کمک فوری در متلب

    با سلام .
    ببخشید چه طوری توی متلب میشه عدد دسیمال رو به باینری تبدیل کرد؟؟؟
    دستور dec2bin فقط برای اعداد غیر منفی میباشد ولی من میخوام یک عدد منفی دسیمال رو به باینری تبدیل کنم.
    ممنون از همه دوستان.

    #2
    پاسخ : کمک فوری در متلب

    سلام، برای یک عدد 32 بیتی، two's complement

    dec2bin(typecast(int32(X),'uint32'),32)


    بجای X عدد مد نظر رو قرار بده.

    دیدگاه


      #3
      پاسخ : کمک فوری در متلب

      نوشته اصلی توسط gordany نمایش پست ها
      سلام، برای یک عدد 32 بیتی، two's complement

      dec2bin(typecast(int32(X),'uint32'),32)


      بجای X عدد مد نظر رو قرار بده.

      ممنون.
      راهنمایی خوبی بود.

      دیدگاه


        #4
        پاسخ : کمک فوری در متلب

        نوشته اصلی توسط gordany نمایش پست ها
        سلام، برای یک عدد 32 بیتی، two's complement

        dec2bin(typecast(int32(X),'uint32'),32)


        بجای X عدد مد نظر رو قرار بده.
        با سلام مجدد.
        چه طور میتونیم یک عددباینری منفی(
        two's complement) را به دسیمال تبدیل کنیم.

        دیدگاه


          #5
          پاسخ : کمک فوری در متلب

          سلام، باید خودتون یک فانکشن براش بنویسید؛ بیت آخر یعنی MSB رو نگاه کنید اگر یک بود یعنی عدد منفیه و باید همه بیت ها رو نات کنید (یک ها به صفر و صفرها به یک تبدیل شوند) برای اینکار میتونید با یک مقدار باینری تمام یک عملیات xor رو انجام بدید و در نهایت با مقدار یک جمع کنید.
          مثلا برای اعداد 16 بیتی در زبان C :

          decimal_value = ((binary_value ^ 0xFFFF) + 1) * (-1);


          اگر بیت MSB یک نبود که خود عدد باینری معادل مقدار مثبت دسیمال هست.
          جدیدترین ویرایش توسط gordany; ۱۰:۵۶ ۱۳۹۷/۱۰/۳۰.

          دیدگاه

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