رفتن به مطلب

تبدیل عدد اعشاری منفی به باینری


kebriya

ارسال های توصیه شده

سلام دوستان. خسته نباشید.

می خوام عدد اعشاری منفی مثل 0.25- رو باینری کنم. چند تا کد پیدا کردم ولی عدد منفی رو اشتباه جواب میده. خود متلب چیزی نداره؟

  • Like 3
لینک به دیدگاه
سلام دوستان. خسته نباشید.

می خوام عدد اعشاری منفی مثل 0.25- رو باینری کنم. چند تا کد پیدا کردم ولی عدد منفی رو اشتباه جواب میده. خود متلب چیزی نداره؟

 

سلام

یعنی مثلا برای این عدد می خواین اینجوری بشه؟

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

هر سطر تقسیم بر 2 میشه، که توی فرمت باینری عدد به سمت راست شیفت میشه.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 2
لینک به دیدگاه
چی شد؟ متوجه منظورتون نشدم

 

ببین کبریا خانوم، من یه عددی رو در 2 ضرب کنم، توی مبنای باینری به سمت چپ شیفت میشه، تقسیم بر 2 هم بر عکس این حالت یعنی به سمت راست شفیت میشه.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

حالا بخوایم از این ویژگی استفاده کنیم، برای 1.5 بدست میاد:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 3
لینک به دیدگاه
ممنونم الان متوجه شدم :w16::hapydancsmil:

 

خواهش می کنم، از همین روش برای تبدیل اعداد اعشاری به باینری می تونی استفاده کنی، اول توی 2 مثلا به توان 10 می تونی ضرب کنی، بعد قسمت صحیحش رو به باینری تبدیل کنی، در آخر هم ممیز رو با توجه به عددی که درش ضرب کردی، اضافه کنی.

  • Like 2
لینک به دیدگاه
  • 3 ماه بعد...
سلام آقا ایمان من نفهمیدم چطوری عدد منفی اعشاری باینری میشه!!!!!!!!!

میشه یه نمونه کد بزنین؟ممنونتون میشم

 

سلام سمانه خانوم

بالا توضیح دادم که، پست چهارم (#4) رو ببین. به منفی که کار نداریم، عدد اعشاری رو تبدیل به باینری می کنیم.

  • Like 1
لینک به دیدگاه
سلام سمانه خانوم

بالا توضیح دادم که، پست چهارم (#4) رو ببین. به منفی که کار نداریم، عدد اعشاری رو تبدیل به باینری می کنیم.

یعنی کامپیوتر مثلا بین 2.5و منفی 2.5 تفاوتی نمیبینه؟!!!!!!!!!!!!!!!

تو مدار منطقی میامد اول تبدیل به عدد باینری میکرد بعد متمم میگرفت و حاصل متمم را با 1 جمع می کرد. مشکل اینجاست من نمی دونم کدوم دستور تو متلب جمع باینری انجام میده!!!!! با چه دستوری جمع باینری بنویسم که مثلا حاصل 10001+1 =10010 بشه

  • Like 2
لینک به دیدگاه
یعنی کامپیوتر مثلا بین 2.5و منفی 2.5 تفاوتی نمیبینه؟!!!!!!!!!!!!!!!

تو مدار منطقی میامد اول تبدیل به عدد باینری میکرد بعد متمم میگرفت و حاصل متمم را با 1 جمع می کرد. مشکل اینجاست من نمی دونم کدوم دستور تو متلب جمع باینری انجام میده!!!!! با چه دستوری جمع باینری بنویسم که مثلا حاصل 10001+1 =10010 بشه

 

خب می تونیم بیت اول به علامت اختصاص بدیم، حتما که برای نمایش اعداد منفی نباید از مکمل 2 استفاده بشه.

  • Like 2
لینک به دیدگاه
×
×
  • اضافه کردن...