(این روش ذهنی بوده و به درخواست یکی از دوستان تهیه شده و با روش ریاضی کمی متفوت می باشد)
در دنیای برنامه نویسی دیگر اعداد بصورت ده دهی استفاده نمی شود و برای کاهش حجم و همچنین آسان تر شدن فهم برنامه برای ماشین ها بیشتر از مبنا های ۱۶ و ۲ استفاده می کنند.
همان طور که می دانید اعداد هگزادسیمال یا اعداد مبنای ۱۶ اعدادی هستند که از صفر شروع شده و تا ۱۵ ادامه می یابد که به جای اعداد ۱۰ تا ۱۵ از حروف انگلیسی از a تا f استفاده می کنند
و در مبنای دو نیز عدد ها یا یک یا صفر هستند
حال می خواهیم با روشی ساده بدون استفاده از ماشین حساب این مبنا ها را به یک دیگر تبدیل کنیم(این روش به درخواست یکی از دوستان تهیه شده)
برای این کار باید کمی از اعداد را حفظ کنیم:
در مبنای ۱۶ | در مبنای ۲ | اعداد در مبنای ۱۰ |
۰ | ۰ | ۰ |
۱ | ۱ | ۱ |
۲ | ۱۰ | ۲ |
۳ | ۱۱ | ۳ |
۴ | ۱۰۰ | ۴ |
۵ | ۱۰۱ | ۵ |
۶ | ۱۱۰ | ۶ |
۷ | ۱۱۱ | ۷ |
۸ | ۱۰۰۰ | ۸ |
۹ | ۱۰۰۱ | ۹ |
a | ۱۰۱۰ | ۱۰ |
b | ۱۰۱۱ | ۱۱ |
c | ۱۱۰۰ | ۱۲ |
d | ۱۱۰۱ | ۱۳ |
e | ۱۱۱۰ | ۱۴ |
f | ۱۱۱۱ | ۱۵ |
برای تبدیل بصورت ذهنی باید اعدا بالا را حفظ کنید:
حال می خواهیم عدد مبنای ۲ زیر را به هگز تبدیل کنیم:
۰۱۱۰۱۱۰۱
عدد بالا را باید بصورت ۴ رقم ۴رقم از سمت راست جدا کنید سپس معادل آن را از جدول بالا جا گذاری کنید
۱۱۰۱=d و ۰۱۱۰=۶ که عدد برابر ۶d می شود
عمل فوق را برعکس نیز می توان انجام داد مثلا عدد ۹f را با باینری یا مبنای ۲ تبدیل می کنیم:f برابر اس با ۱۱۱۱ و ۹ هم برابر اس با ۱۰۰۱ حال این اعداد را همان طوری که هستند کنار هم قرار می دهیم:۱۰۰۱۱۱۱۱
حال می خواهیم این اعداد را به مبنای ۱۰ یا دسیمال ببریم برای این کار بهتر است مبنای ۱۶ را به ۲ برده سپس به ۱۰ ببریم برای این کار به روش زیر عمل می کنیم در صورتی که در عمل ضرب ماهر باشید این قسمت را هم می توانید بصورت ذهنی حل کنید:
در صورتی که به روش کامل یا محاسباتی آن نیاز دارید از طریق نظرات اعلام کنید.
36 پاسخ به “تبدیل هگز به باینری و بالعکس(ذهنی و سریع)”
باسلام
ممنون از آموزشتون
لطفا نحوه اتصال کی پد به میکرو و برنامه نویسی کی پد هم آموزش بدین.
سلام مرسی . در چند روز آینده حتما آموزش داده میشه.
از توضیح جامع شما ممنونم
همین موضوع برا ی من سوال بود جوابم را گرفتم مرسی
سلام.
من میخوام اعداد هگز رو مستقیم به دسیمال تبدیل کنم.
مثلا ۸۸FA = 35066 چجوری بدست بیارم؟
خخخخخخخخخخخخخ
سلام.
شما نمیتونید اینطور کاری رو انجام بدین چون اعداد هگزا دسیمال بر نوعی روی اعداد باینری یعنی دودویی وابسته اند.
نمیدونم شما ریاضی این مطلب مفید رو خوندین یا نه اما برای تبدیل باینری به هگزا ما باید اونارو چهارتا چهار تا جدا کنیم و این طوری در ریاضی اعداد هگزا دسیمال رو مینویسن
از کی دنبال این کد ها هستم۰ممنون دوست عزیز
سلام خسته نباشید عالی بود…!
منم هم عقیده با بقیه م 🙂
سلام دوست عزیز
بابت آموزشتون بسیار سپاس گزارم
شما برای تبدیل کردن مبنای ۱۶ به مبنای ۱۰ ابتدا به مبنای ۲ بردید سپس معادل عددی اون رو نوشتید و با ضرب کردن عدد سمت چپ در ۱۶ و جمع کردن با عدد بعدی به مبنای ده بردید و حالا مشکل من اینجاست که اگر بیشتر از دو عدد بود اون وقت چی ؟
منظورم اینکه مثال شما دوتا عدد در مبنای ۱۶ بودش یعنی FA بود اگر بیشتر از دوتا بود چیکار کنیم ؟
میشه اینو برام توضیح بدید۲B9؟
میخوام ببرمش به مبنای ده دهی .
با تشکر از شما
۲=۲
b=11
۹=۹
(۲*۱۶*۱۶)+(۱۶*۱۱)+۹=۶۹۷
(۲*۲۵۶)+(۱۱*۱۶)+۹=۶۹۷
عالیییییییییییی دمت گرم
ممنون از کمک
حال روشی هست اگر بخواهیم از مبنا ۱۶ به ۸ ببریم اما بدو واسطه به ۲ یا ۱۰ ؟
زبان آموزشتان بسیار قابل فهم است خدا خیرتون بده ممنون
سلام. اقا من قسمتیش رو متوجه نشدم. گفتید “دسیمالذهر قسمت را نوشته” من نفهمیدم که چگونه دسیمال ۱۱۱۱ شده ۱۵؟ممنون میشم
(۱×۲^۰)+(۱×۲^۱)+(۱×۲^۲)+(۱×۲^۳)=۱+۲+۴+۸=۱۵
طبق جدولی که شما حفظ میکنید میتونید راحت معادلشو پیدا کنید…
بسیاربسیار عالی …ممنون …گویاترین توضیح ، هم این قسمت هم مبدل آنالوگ ، سوالات بسیاری به جواب رسید ……ممنون وخسته نباشی
سلام داداش خیلی زحنت کشیدی ممنون.
فقط ای کاش برای عددی مثل ۸۸c3 را هم توضیح میدادین اسباب زحمت یک شنبه امتحان دارم
تبدیل این عدد به باینری خیلی ساده هست که طبق روش بالا معادل هر عدد رو پشت سر هم بنویسی بدست میاد ولی برای تبدیل به مبنای ۱۰ یا دسیمال چون عدد بزرگی هست احتمالا ماشین حساب لازم باشه به هر حال
مبنای ۲: ۳=۰۰۱۱ c=1100 8=1000 8=1000 که به ترتیب میشه ۱۰۰۰۱۰۰۰۱۱۰۰۰۰۱۱
برای بتدیل به مبنای ۱۰ هم هر عدد رو تک تک به مبانی ۱۰ ببرید و در ۱۶ به توان محل عدد ضر ب کنید و همه رو با هم جمع کنیدبه طور مثال ۳ در مبنای ۱۰ همون ۳ هست c هم که ۱۲ هست ۸ هم که ۸ هست
حالا ۳ ضرب در ۱۶ به توان ۰ بعلاوه ۱۲ ضرب در ۱۶ بتوان ۱ بعلاوه ۸ ضرب در ۱۶ بتوان ۲ بعلاوه ۸ ضرب در ۱۶ بتوان ۳
که دیگه من نمیتونم ذهنی حل کنم شما رو نمیدونم من با ماشین حساب جمع زدم شد ۳۵۰۱۱
روش ذهنی برای تبدیل مبنای ۱۶ به ۲ بسیار کاربرد داره و در تبدیل به مبنای ۱۰ برای اعداد کوچک بهتره
تکمیل کردید بحثووو جای سوال نیست دیگه ممنونم
سلام .
این فرمول در مورد FFFF جور در نمیاد انگار،
اگه میشه توضیح بدین.
یه عدد ۱۶ بیتی بر مبنای ۲ هست ینی ۲ را ب توان ۱۶ برسونی جوابش در میاد 🙂
یک پی دی اف مفید
http://www.khuisf.ac.ir/prof/images/Uploaded_files/Bases%20in%20numeral%20system%5B6833271%5D.PDF
خیلی ممنون عالی بود واقعا استفاده کردم
خیلی ممنون من تو آلمانم دارم آیتی می خونم والله تو امتحان حفظی یادش گرفتم ولی اینجا به کمک شما فهمیدم چی به چیه تشکر فراوان سپاس بسیار
عالی بود
بسمه تعالی
متشکرم از اینکه مطلب خوبی گذاشتین… خدا خیرتون بده…
امتحان دارم کمک م میکنی
عالی بود
باسلام من برنامه نویسی پایتون بلدم کمی میخواستم ببینم با هشلیب میشه کلمات رو صفرو یک کرد؟
داداش خدا خیرت بده واقعا ممنون
سلام خسته نباشید
ما همچنان مشتاق اموزش های شما دوست عزیز هستیم .اگه میشه این بار پروت سریال میکرو را اموزش بدین
خیلی مشتاقم که یاد بگیرم تا بتوانم فرستنده و گیرنده یاد بگیرم.
*******همیشه موفق باشید*********
بازم میگم سایت تون خیلی مفید و خوب هستش
ممنون
با سلام استاد.
بنده یوسفی هستم.روی یک سری از برنامه های کد نویسی بر روی هگز تحقیق میکنم.خوشحال میشم در مورد این پروزه با شما صحبت کنم و از دانش شما بهره مند بشویم.
لطفا با بنده تماس بگیرید .۰۹۱۲۳۰۹۵۳۰۷
یوسفی