مبدل مبنا
تبدیل بین مبناهای مختلف اعداد از جمله باینری، اکتال، دهدهی و هگزادسیمال.
عدد(10) → باینری (مبنای ۲)
کاراکترهای موجود
۰، ۱، ۲، ۳، ۴، ۵، ۶، ۷، ۸، ۹
۰-۹، A-Z (A=۱۰، B=۱۱، ...، Z=۳۵)
باینری (مبنای ۲)
کاراکترها: ۰، ۱
زبان بنیادی کامپیوتر
مثلاً ۱۰۱۰₂ = ۱۰₁₀
اکتال (مبنای ۸)
کاراکترها: ۰-۷
در مجوزهای یونیکس استفاده میشود
مثلاً ۱۲₈ = ۱۰₁₀
دهدهی (مبنای ۱۰)
کاراکترها: ۰-۹
در زندگی روزمره استفاده میشود
مثلاً ۱۰₁₀
هگزادسیمال (مبنای ۱۶)
کاراکترها: ۰-۹، A-F
کدهای رنگی، آدرسهای حافظه
مثلاً A₁₆ = ۱۰₁₀
روشهای تبدیل
مبنای دیگر → دهدهی: هر رقم را در توان مربوطه مبنا ضرب کرده و جمع کنید
دهدهی → مبنای دیگر: بر مبنای مقصد تقسیم کرده و باقیماندهها را به ترتیب معکوس مرتب کنید
توسعه تاریخی سیستمهای اعداد
سیستمهای اعداد در کنار تمدن بشری تکامل یافتهاند. از مبنای ۶۰ بابلی باستان، مبنای ۲۰ مایا، تا سیستم دهدهی فعلی ما، هر تمدن سیستمهای عددی متناسب با نیازهای خود را توسعه داده است.
سیستمهای اعداد تمدنهای باستان
- • مبنای ۶۰ بابلی: منشأ اندازهگیری زمان و زاویه
- • دهدهی مصری: سیستم اعداد مبتنی بر هیروگلیف
- • مبنای ۲۰ مایا: بر اساس انگشتان دست و پا
- • اعداد رومی: سیستم نمادگذاری جمعی
کاربردهای سیستم اعداد مدرن
- • دهدهی: استاندارد برای زندگی روزمره
- • باینری: زبان بنیادی کامپیوتر
- • هگزادسیمال: برنامهنویسی و آدرسهای حافظه
- • اکتال: سیستم مجوز یونیکس
سیستمهای اعداد در علوم کامپیوتر
باینری (مبنای ۲)
اصل: فقط از ۰ و ۱ استفاده میکند
کاربرد: CPU، حافظه، مدارهای منطقی
مزیت: پیادهسازی آسان با سیگنالهای الکتریکی
مثال: ۱۰۱۰₂ = ۱۰₁₀
کاربردها: ارتباطات دیجیتال، ذخیرهسازی دادهها
هگزادسیمال (مبنای ۱۶)
اصل: از ۰-۹، A-F استفاده میکند
کاربرد: آدرسهای حافظه، کدهای رنگی
مزیت: نمایش فشرده باینری
مثال: FF₁₆ = ۲۵۵₁₀
کاربردها: توسعه وب، برنامهنویسی سیستم
اکتال (مبنای ۸)
اصل: از ۰-۷ استفاده میکند
کاربرد: مجوزهای فایل یونیکس
مزیت: ۳ بیت را با هم گروهبندی میکند
مثال: ۷۵۵₈ = ۴۹۳₁₀
کاربردها: مدیریت سیستم، تنظیمات امنیتی
سیستمهای اعداد در برنامهنویسی
مثالهای دنیای واقعی
کدهای رنگی: #FF0000 (قرمز)
آدرس حافظه: 0x7FFF5FBFF5B0
مجوزهای فایل: chmod 755 (rwxr-xr-x)
عملیات بیتی: 0b1010 & 0b1100
شبکه: ماسکهای زیرشبکه آدرس IP
اشکالزدایی و بهینهسازی
دامپ حافظه: بررسی محتویات حافظه در هگزادسیمال
پرچمهای بیتی: مدیریت حالتها در باینری
مقادیر هش: بیان چکسامها در هگزادسیمال
رمزگذاری: پردازش بایتها در هگزادسیمال
فشردهسازی: دستکاری دادهها در سطح بیت
اصول ریاضی تبدیل مبنا
نمادگذاری موضعی
مقدار هر رقم با توانهای مبنا تعیین میشود.
۱۰۱۰₂ = ۱×۲³ + ۰×۲² + ۱×۲¹ + ۰×۲⁰ = ۱۰₁₀
الگوریتمهای تبدیل
دهدهی → مبنای n
- ۱. دهدهی را بر n تقسیم کنید
- ۲. باقیمانده را ثبت کنید
- ۳. تا زمانی که خارج قسمت ۰ شود تکرار کنید
- ۴. باقیماندهها را به ترتیب معکوس مرتب کنید
مبنای n → دهدهی
- ۱. هر رقم را در توان مبنا ضرب کنید
- ۲. همه مقادیر را جمع کنید
- ۳. نتیجه مقدار دهدهی است
کاربردهای عملی سیستمهای اعداد
توسعه وب
- • کدهای رنگی CSS (#RGB, #RRGGBB)
- • رمزگذاری URL (%20, %3A, و غیره)
- • رمزگذاری Base64 (ایمیل، تصاویر)
- • کدهای کاراکتر یونیکد (U+0041)
مدیریت سیستم
- • تنظیمات مجوز فایل (chmod 755)
- • پیکربندی شبکه (ماسکهای زیرشبکه)
- • تحلیل آدرس حافظه
- • تحلیل فایلهای لاگ
💻 نکات عملی
• ابزارهای توسعهدهنده: میتوانید کدهای رنگی هگزادسیمال را مستقیماً در ابزارهای توسعهدهنده مرورگر بررسی کنید.
• استفاده از ماشین حساب: از ماشین حسابهای برنامهنویس برای تبدیل آسان مبنا استفاده کنید.
• عملیات بیتی: درک باینری به شما کمک میکند تا از عملگرهای بیتی (&, |, ^, ~) به طور مؤثر استفاده کنید.
• بهینهسازی حافظه: درک سیستمهای اعداد به بهینهسازی استفاده از حافظه کمک میکند.