بیس کنورژن کیلکولیٹر
ایک مکمل عدد کو بائنری، اوکٹل، ڈیسیمل اور ہیکسا ڈیسیمل میں تبدیل کریں۔
اس بیس کنورژن کیلکولیٹر کو استعمال کرنے کا طریقہ
- مکمل عدد درج کریں
مکمل عدد (Whole number) کے خانے میں ایک غیر منفی انٹیجر ٹائپ کریں (مثلاً 255 یا 4096)۔
- بائنری ویلیو دیکھیں
بائنری ویلیو کا نتیجہ بیس-2 کی نمائندگی ظاہر کرتا ہے۔
- آکٹل اور ہیکس چیک کریں
مختصر نمائندگی کے لیے آکٹل اور ہیکسا ڈیسیمل نتائج کا جائزہ لیں۔
- ڈیسیمل کی تصدیق کریں
ڈیسیمل آؤٹ پٹ کراس چیکنگ کے لیے اصل قدر کی تصدیق کرتا ہے۔
یہ بیس کنورژن کیلکولیٹر کیسے کام کرتا ہے
یہ بیس کنورژن کیلکولیٹر ڈیسیمل (بیس 10) میں ایک مکمل عدد لیتا ہے اور اسے بائنری (بیس 2)، اوکٹل (بیس 8)، اور ہیکسا ڈیسیمل (بیس 16) میں ظاہر کرتا ہے — یہ چار عددی نظام کمپیوٹنگ میں سب سے زیادہ استعمال ہوتے ہیں۔ ہر پوزیشنل نمبر سسٹم ایک ہی طرح سے کام کرتا ہے: ہر ہندسے کی پوزیشن بیس کی مسلسل طاقت کی نمائندگی کرتی ہے، اور عدد کی قیمت ہر ہندسے کو اس کے پوزیشنل وزن سے ضرب دے کر حاصل ہونے والے مجموعے کے برابر ہوتی ہے۔ بیسز کے درمیان تبدیلی لو-لیول پروگرامنگ، ڈیجیٹل لاجک ڈیزائن، نیٹ ورک انجینئرنگ (MAC اور IPv6 ایڈریسز)، CSS میں کلر کوڈز، Unix میں فائل پرمیشن ماسکس، اور ڈیبگنگ کے دوران میموری ایڈریس کے معائنے میں ایک بنیادی عمل ہے۔
بار بار تقسیم: N کو ٹارگٹ ریڈکس R سے تقسیم کریں، باقی (remainder) کو نوٹ کریں، حاصلِ قسمت (quotient) کے ساتھ اس وقت تک دہرائیں جب تک کہ یہ 0 نہ ہو جائے، پھر باقیات کو الٹی ترتیب میں پڑھیں۔ اعشاری نمبر 255 کو بائنری، اوکٹل اور ہیکساڈیسیمل میں تبدیل کریں۔ بائنری (R = 2) کے لیے: 255 ÷ 2 = 127 باقی 1، 127 ÷ 2 = 63 باقی 1، 63 ÷ 2 = 31 باقی 1، 31 ÷ 2 = 15 باقی 1، 15 ÷ 2 = 7 باقی 1، 7 ÷ 2 = 3 باقی 1، 3 ÷ 2 = 1 باقی 1، 1 ÷ 2 = 0 باقی 1۔ باقیات کو نیچے سے اوپر پڑھنے پر: 11111111۔ اوکٹل (R = 8) کے لیے: 255 ÷ 8 = 31 باقی 7، 31 ÷ 8 = 3 باقی 7، 3 ÷ 8 = 0 باقی 3 ← 377۔ ہیکساڈیسیمل (R = 16) کے لیے: 255 ÷ 16 = 15 باقی 15 (F)، 15 ÷ 16 = 0 باقی 15 (F) ← FF۔
ڈیسیمل 4096 ← بائنری 1000000000000، آکٹل 10000، ہیکس 1000۔ یہ 4 KiB = 4096 بائٹس کو سمجھنے کے لیے مفید ہے۔
ڈیسیمل 15 ← بائنری 1111، آکٹل 17، ہیکس F۔ ہر ہیکس ہندسہ ٹھیک چار بٹس سے مطابقت رکھتا ہے؛ F = 1111۔
- ✓ ان پٹ ایک غیر منفی مکمل عدد (صفر یا مثبت صحیح عدد) ہے۔ کسر والے اعداد اور منفی اعداد کے لیے توسیعی الگورتھم (مثلاً سائنڈ بائنری کے لیے two's complement) درکار ہوتے ہیں جو اس ٹول کے دائرہ کار سے باہر ہیں۔
- ✓ 9 سے اوپر کے ہیکساڈیسیمل ہندسوں کو بڑے حروف A–F کے ذریعے ظاہر کیا جاتا ہے، جو زیادہ تر پروگرامنگ زبانوں، RFCs اور ہارڈ ویئر کی دستاویزات کے رواج کے مطابق ہے۔
- ✓ آؤٹ پٹ سے شروع کے صفر حذف کر دیے جاتے ہیں۔ فکسڈ وڈتھ نمائندگی (مثلاً 8-bit یا 32-bit بائنری) کے لیے، نتیجے کو دستی طور پر مطلوبہ چوڑائی تک پورا کریں۔
- ✓ کیلکولیٹر صرف غیر منفی مکمل اعداد قبول کرتا ہے۔ 2^53 − 1 (JavaScript کا Number.MAX_SAFE_INTEGER) سے زیادہ کی قدریں مسترد کر دی جاتی ہیں تاکہ دکھائے گئے ہندسے درست رہیں۔
- ہر ہیکساڈیسیمل ہندسہ بالکل چار بائنری ہندسوں (بٹس) سے مطابقت رکھتا ہے، اور ہر اوکٹل ہندسہ بالکل تین بٹس سے مطابقت رکھتا ہے۔ یہ تعلق ہیکساڈیسیمل، اوکٹل اور بائنری کے درمیان ذہنی تبدیلی کو تیز بناتا ہے جب آپ 16 نببل (nibble) پیٹرن یاد کر لیتے ہیں۔
- یاد رکھنے کے قابل عام قدریں: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4,294,967,295 (زیادہ سے زیادہ غیر دستخط شدہ 32-bit صحیح عدد)۔
- Unix فائل پرمیشنز آکٹل استعمال کرتی ہیں: 755 کا مطلب rwxr-xr-x ہے (مالک کے لیے پڑھنا/لکھنا/چلانا، گروپ اور دیگر کے لیے پڑھنا/چلانا)۔ ہر آکٹل ہندسہ تین پرمیشن بٹس کی نمائندگی کرتا ہے۔
- CSS ہیکس کلر کوڈز تین مسلسل ہیکسا ڈیسیمل بائٹ ویلیوز ہیں جو سرخ، سبز اور نیلے چینلز کی نمائندگی کرتے ہیں — مثلاً، #FF8800 کا مطلب 255 سرخ، 136 سبز، 0 نیلا ہے۔
- پوزیشنل نیومرل سسٹم تھیوری — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Section 4.1
- IEEE 754-2019 — فلوٹنگ پوائنٹ ارتھمیٹک کا معیار (انٹیجر ریپریزنٹیشن سیاق و سباق)
- RFC 4291 — IP ورژن 6 ایڈریسنگ آرکیٹیکچر (IPv6 کے لیے ہیکسا ڈیسیمل نوٹیشن)
کمپیوٹنگ میں عددی نظام کو سمجھنا
ہر پوزیشنی عددی نظام ایک بیس (radix) استعمال کرتا ہے اور ہر ہندسے کو اس کی پوزیشن کی بنیاد پر ایک وزن دیتا ہے۔ ڈیسیمل (بیس 10) میں، دائیں طرف کا پہلا ہندسہ اکائی، اگلا دہائی، پھر سینکڑا ہوتا ہے۔ بائنری (بیس 2) صرف 0 اور 1 استعمال کرتا ہے، جو براہ راست ٹرانزسٹر کی آن/آف حالتوں سے مطابقت رکھتا ہے۔ آکٹل (بیس 8) ہر ہندسے کے لیے تین بٹس کو گروپ کرتا ہے، اور ہیکسا ڈیسیمل (بیس 16) ہر ہندسے کے لیے چار بٹس کو گروپ کرتا ہے، جس میں 10-15 کی اقدار کے لیے A–F استعمال ہوتا ہے۔ بیسز کے درمیان تبدیلی کے لیے بار بار تقسیم کا طریقہ استعمال کیا جاتا ہے: نمبر کو ٹارگٹ ریڈکس سے تقسیم کریں، باقی بچ جانے والے کو نوٹ کریں، حاصلِ قسمت کے ساتھ اس وقت تک دہرائیں جب تک کہ وہ صفر نہ ہو جائے، پھر باقیات کو الٹی ترتیب میں پڑھیں۔ یہ الگورتھم پروگرامنگ میں تمام بیس کنورژن کی بنیاد ہے۔
بیس کنورژن کے لیے ڈویلپرز کے عملی استعمال کے کیسز
ڈویلپرز میموری ڈمپس کا معائنہ کرتے وقت، بٹ وائز آپریشنز کی ڈیبگنگ، فائل پرمیشنز کی تشریح، اور کلر کوڈز کے ساتھ کام کرتے وقت بیس کنورژن کا استعمال کرتے ہیں۔ یونکس فائل پرمیشنز (مثلاً 755) آکٹل ہیں: ہر ہندسہ مالک، گروپ اور دیگر کے لیے پڑھنے/لکھنے/چلانے کو انکوڈ کرتا ہے۔ CSS ہیکس کلرز جیسے #FF8800 ہیکسا ڈیسیمل میں تین جڑے ہوئے بائٹس ہیں۔ IPv6 ایڈریس ہیکس میں لکھے جاتے ہیں۔ بٹ ماسک اور فلیگز اکثر پڑھنے میں آسانی کے لیے ہیکس میں ظاہر کیے جاتے ہیں (بائٹ ماسک کے لیے 0xFF، 16 بٹس کے لیے 0xFFFF)۔ لو-لیول کوڈ یا نیٹ ورک پروٹوکولز کو ڈیبگ کرتے وقت، ڈیسیمل، ہیکس اور بائنری کے درمیان تبدیلی فوری طور پر بنیادی بٹ پیٹرنز کو ظاہر کر دیتی ہے۔
بیس کنورژن کیلکولیٹر کے اکثر پوچھے گئے سوالات
کمپیوٹنگ میں بائنری، آکٹل اور ہیکسا ڈیسیمل کیوں استعمال ہوتے ہیں؟
بائنری براہ راست ٹرانزسٹرز کی آن/آف حالتوں سے مطابقت رکھتی ہے، جو اسے ہارڈ ویئر کی مادری زبان بناتی ہے۔ آکٹل اور ہیکسا ڈیسیمل بائنری کے لیے مختصر شکلیں ہیں — ایک ہیکس ہندسہ ٹھیک چار بٹس اور ایک آکٹل ہندسہ تین بٹس کی نمائندگی کرتا ہے — اس لیے پروگرامرز انہیں طویل بائنری سٹرنگز کے مقابلے میں ایڈریسز، بٹ ماسکس اور کلر کوڈز کو زیادہ مختصراً بیان کرنے کے لیے استعمال کرتے ہیں۔
میں دوسری سمت میں کیسے تبدیل کروں (مثلاً، ہیکس سے ڈیسیمل)؟
ہر ہندسے کو اس کی بیس کی پوزیشنل پاور سے ضرب دیں اور نتائج کو جمع کریں۔ مثال کے طور پر، ہیکس 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = ڈیسیمل میں 419۔
بہت بڑے نمبروں کے ساتھ کیا ہوتا ہے؟
کیلکولیٹر صرف JavaScript کی محفوظ انٹیجر حد تک ویلیوز قبول کرتا ہے: 2^53 − 1 (9,007,199,254,740,991)۔ اس سے بڑے نمبر مسترد کر دیے جاتے ہیں کیونکہ وہ براؤزر میں کم اہم ہندسے کھو سکتے ہیں۔
کیا میں منفی اعداد یا کسر کو تبدیل کر سکتا ہوں؟
یہ ٹول غیر منفی مکمل اعداد کو ہینڈل کرتا ہے۔ کمپیوٹنگ میں منفی اعداد کو عام طور پر ایک مخصوص بٹ چوڑائی میں two's complement کا استعمال کرتے ہوئے ظاہر کیا جاتا ہے، اور کسر کی قدریں IEEE 754 floating-point انکوڈنگ کا استعمال کرتی ہیں — دونوں کے لیے اضافی پیرامیٹرز کی ضرورت ہوتی ہے جو یہ کیلکولیٹر جمع نہیں کرتا۔
کوڈ میں 0x سابقہ کیوں ظاہر ہوتا ہے لیکن آؤٹ پٹ میں نہیں؟
0x سابقہ (اور بائنری کے لیے 0b، اوکٹل کے لیے 0o) ایک زبان کے لحاظ سے مخصوص لٹرل سنٹیکس ہے جو کمپائلر یا انٹرپریٹر کو بتاتا ہے کہ کس بیس کی توقع کرنی ہے۔ کیلکولیٹر بغیر کسی سابقہ کے خام ہندسوں کی سٹرنگ آؤٹ پٹ کرتا ہے تاکہ اسے کسی بھی سیاق و سباق میں استعمال کیا جا سکے۔