در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی

کامپیوترها برای اجرای کدهای نوشته شده در زبان های برنامه نویسی مختلف، باید کدها را تبدیل به زبان ماشین کنند. زبان کامپیوتر زبان دو دو یی است، یعنی کامپیوتر تنها اعداد 0 و 1 را می شناسد. یکی از مفاهیمی که بهتر است قبل از شروع برنامه نویسی با آن آشنا شویم مبناهای عددی مختلف است که در این قسمت به این موضوع می پردازیم. مبنای اعداد بر اساس تعداد اعدادی که در مبنا قابل استفاده هستند مشخص می شود. برای مثال، در مبنای دو، تنها اعداد 0 و 1 استفاده می شوند یا در مبنای 16، اعداد 0 تا 9 و کاراکترهای A تا F استفاده می شوند. در این مطلب به ترتیب در مورد مبناهای مختلف و همچنین شیوه های تبدیل آن ها به یکدیگر توضیح خواهیم داد.

مبنای 10 (Decimal System)

مبنای 10، همان سیستم عددی رایج است که ما انسان ها از آن استفاده می کنیم، اعداد در این سیستم، با ترکیب اعداد 0 تا 9 ساخته می شوند. مثل عدد 29 یا 1242.

مبنای دو (Binary System)

همانطور که گفتیم، تقریباً تمامی کامپیوتر های امروزی از سیستم دودویی یا همان Binary System که مبنای دو می باشد استفاده می کنند. برای آشنایی بیشتر با سیستم Binary یک مثال می زنیم. به صورت عادی ما انسان ها اعداد را از 1 می شناسیم به بالا، برای مثال عدد 1000 یا 23444. اما در مبنای دو، تمامی اعداد باید با اعداد 0 و 1 نمایش داده شوند. برای مثال عدد 9 در مبنای دو به صورت 1001 نمایش داده می شود. در مبنای دو، برای هر یک از خانه هایی که اعداد صفر و یک در آن قرار میگیرد، یک ارزش عددی مشخص می شود، ارزش گذاری خانه ها از سمت راست و با عدد یک شروع شده و هر چه به سمت راست برویم، ارزش هر خانه معادل ارزش خانه قبلی ضربدر 2 می باشد. به تصویر زیر دقت کنید:

آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی

همانطور که مشاهده می کنید، هر خانه یک ارزش عددی دارد، خانه اول عدد 1، خانه دوم عدد 2، خانه سوم عدد 4 که برابر با 2 ضربدر 2 یا 2 به توان 2 است. برای مثال، ارزش خانه پنجم معادل 8 ضربدر 2 یا عدد 2 به توان 4 می باشد، در حالت به توان رساندن، به این صورت می شود که عدد 2 به توان شماره خانه جاری منهای 1:

[1] = 2 ^ 0 = 1
[2] = 2 ^ 1 = 2
[3] = 2 ^ 2 = 4
[4] = 2 ^ 3 = 8

اما عددی مانند 9 که در ابتدا مثال زدیم، چگونه در مبانی دو نمایش داده می شود؟ همانطور که گفتیم در مبنای دو تنها اعداد 0 و 1 را استفاده می کنیم. عدد 0 به معنای خاموش بودن یک خانه و عدد 1 به معنای روشن بودن یک خانه است. کاری که باید بکنیم ارزش خانه هایی که روشن هستند را با هم جمع کنیم تا عدد معادل در مبنای 10 بدست آید. تصویر زیر را مشاهده کنید:

آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی

در تصویر بالا، ارزش خانه های اول و چهارم که مقدار 1 دارند، یعنی روشن هستند را با هم جمع کرده تا به عدد مورد نظر یعنی 9 برسیم. بدست آوردن معادل اعداد در مبنای دو برای اعداد کوچک ساده است، اما برای اعداد بزرگ این کار بسیار دشوار است، برای تبدیل یک عدد از مبنای 10 به مبنای 16 کافیست عدد مورد نظر را تقسیم بر 2 کرده، سپس باقیمانده آن را مجدد تقسیم بر 2 کنیم تا در انتها به باقیمانده 1 یا صفر برسیم، برای مثال، عدد 1232 را در نظر بگیرید، به صورت زیر آن را تبدیل به مبنای 2 می کنیم:

آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی

حال اعدادی که دور آن ها دایره قرمز کشیده شده، یعنی باقیمانده های تقسیم را برعکس می نویسیم، یعنی عددی که سمت راست قرار دارد باید سمت چپ قرار بگیرد:

   1	 0	 0	 1	 1	 0	 1	 0	 0	 0	 0
1024	512	256	128	64	32	16	 8	 4	 2	 1

حال ارزش عددی خانه هایی که مقدارشان 1 است را با هم جمع می زنیم:

1024 + 128 + 64 + 16 = 1232

با این روش می توان هر عددی را از مبنای 10 به 2 تبدیل کرد.

مبنای 16 (Hexadecimal System)

اعداد مبنای 16، از ترکیب اعداد 0 تا 9 و کاراکتر های A تا F ایجاد می شوند. کاراکتر های A تا F معادل عددی 10 تا 15 هستند. یکی از قسمت هایی که مبنای 16 بسیار مشاهده می شود، استفاده از رنگ های مبتنی بر HEX هستند که با 6 کاراکتر مشخص می شوند:

FFFFFF => رنگ سفید
000000 => رنگ سیاه
E7E7E7 => رنگ طوسی روشن

تبدیل این عددها به مبنای 10 نیز بر اساس همان مکانیزم ارزش گذاری هر جایگاه ضربدر عددی که در آن جایگاه قرار دارد به دست می آید. برای مثال، عدد زیر را در مبنای 16 در نظر بگیرید:

5		B(11)		3		F(15)		4
16^4 = 65536	16^3 = 4096	16^2 = 256	16		1

برای بدست آوردن معادل مبنای 10 عدد بالا، کافیست عدد هر خانه را ضربدر ارزش آن خانه کنیم:

(5 * 65536) + (11 * 4096) + (3 * 256) + (15 * 16) + (4 * 1)
327680 + 45056 + 768 + 240 + 4 = 373748

با انجام پروسه ذکر شده به عدد 327680 می رسیم که معادل عدد 5B3F4 در مبنای 16 می باشد. مبناهای دیگری نیز وجود دارند مانند مبنای 8 یا Octal System، مبنای 20 یا Vigesimal و ... که هر یک بر اساس مکانیزم های مشخص در آن مبنا قابل تبدیل به سایر مبنا ها هستند. در این قسمت با سیستم اعداد و مبناهای مختلف آشنا شدیم. در قسمت بعدی، با مفاهیم تکمیلی در مورد مبنای دو که شامل عملگرهای بیتی می باشند آشنا خواهیم شد. ITPRO باشید

نویسنده: حسین احمدی

منبع : جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#اعداد_مبنای_2 #برنامه_نویسی_رو_از_کجا_شروع_کنم #اعدادی_hexadecimal #آموزش_برنامه_نویسی #اموزش_تبدیل_مبنا #اعداد_binary #اعداد_مبنای_16 #چگونه_برنامه_نویسی_را_شروع_کنیم
عنوان
1 آموزش برنامه نویسی به زبان ساده قسمت 1 : مفاهیم اولیه رایگان
2 آموزش برنامه نویسی به زبان ساده قسمت 2 : انواع زبان برنامه نویسی رایگان
3 آموزش برنامه نویسی به زبان ساده قسمت 3 : روش های اجرای کد رایگان
4 آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی رایگان
5 آموزش برنامه نویسی به زبان ساده قسمت 5 : عملگر های بیتی رایگان
6 آموزش برنامه نویسی به زبان ساده قسمت 6 : محیط های یکپارچه توسعه رایگان
7 آموزش برنامه نویسی به زبان ساده قسمت 7 : شروع به کار رایگان
8 آموزش برنامه نویسی به زبان ساده قسمت 8 : نوع های داده و متغیرها رایگان
9 آموزش برنامه نویسی به زبان ساده قسمت 9 : کلمات کلیدی و الگوریتم رایگان
10 آموزش برنامه نویسی به زبان ساده قسمت 10 : عملگرها و عملوندها رایگان
11 آموزش برنامه نویسی به زبان ساده قسمت 11 : دستورات کنترلی و شرط رایگان
12 آموزش برنامه نویسی به زبان ساده قسمت 12 : دستورات تکرار و حلقه رایگان
13 آموزش برنامه نویسی به زبان ساده قسمت 13 : آرایه ها و کاراکترها رایگان
14 آموزش برنامه نویسی به زبان ساده قسمت 14 : توابع رایگان
زمان و قیمت کل 0″ 0
1 نظر
saadatCoder

با عرض سلام و خسته نباشید

در تصویر باقیمانده تقسیم 19 بر 2 برابر 0 قید شده!!

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....