§

Options

§

بائنری (بیس 2)

§

آکٹل (بیس 8)

§

ڈیسیمل (بیس 10)

§

ہیکساڈیسیمل (بیس 16)

§

کسٹم بیس

NUST کے کمپیوٹر آرکیٹیکچر ڈیپارٹمنٹ میں embedded firmware کے طلباء JTAG probe سے حاصل hex dumps کو بائنری میں تبدیل کر کے رجسٹر کی bit-fields سمجھتے ہیں۔ Khan Research Laboratories (KRL) کے سیکیورٹی پروٹوکول تجزیہ کاروں کو ست عشری (octal) سے ہیکساڈیسیمل کی تبدیلی روزانہ درکار ہوتی ہے۔ PAF Cyber Wing کے avionics ماہرین بھی بائنری سے hex telemetry conversion کے لیے ایسے سریع ٹول پر انحصار کرتے ہیں — اور یہ ٹول سب کچھ آپ کے براؤزر میں مقامی طور پر چلاتا ہے۔

بیس کنورژن کیسے کام کرتا ہے

ہر پوزیشنل عددی نظام کسی قدر کو بیس کی طاقتوں سے ضرب دیے گئے ہندسوں کے مجموعے کے طور پر ظاہر کرتا ہے۔ بیس بدلنے کا مطلب ہے اسی قدر کو مختلف طاقتوں کی ترتیب میں دوبارہ لکھنا۔

  1. ان پٹ حروف تہجی کی تصدیق. ہر بیس ایک مخصوص ہندسہ سیٹ قبول کرتی ہے۔ بائنری 0 اور 1 قبول کرتی ہے؛ آکٹل 0–7؛ ڈیسیمل 0–9؛ ہیکس 0–9 اور A–F۔ منتخب حروف تہجی سے باہر کوئی حرف آنے پر کنورژن شروع ہونے سے پہلے ان پٹ کی جگہ خرابی ظاہر ہوتی ہے۔
  2. قدر کو پارس کرنا. JavaScript Number کی حد (2^53−1 تک) میں آنے والی قدروں کے لیے ٹول parseInt(text, base) استعمال کرتا ہے۔ اس سے بڑی قدروں کے لیے BigInt پر واپس آتا ہے تاکہ بہت بڑے اعداد کا کنورژن بھی درست رہے۔
  3. ہر ہدف بیس میں دوبارہ رینڈر کرنا. پارس شدہ قدر کو Number.prototype.toString(base) یا BigInt.prototype.toString(base) کے ذریعے ہر آؤٹ پٹ بیس میں تبدیل کیا جاتا ہے۔ چار معیاری پین (بائنری، آکٹل، ڈیسیمل، ہیکس) اور کسٹم بیس پین ایک ساتھ اپ ڈیٹ ہوتے ہیں۔
  4. فارمیٹنگ لاگو کرنا. پریفکس ٹوگل بائنری، آکٹل اور ہیکس آؤٹ پٹ میں 0b، 0o یا 0x شامل کرتا ہے۔ ہندسوں کی گروپ بندی ہر چار بائنری ہندسوں اور ہر دو ہیکس ہندسوں کے بعد انڈر اسکور لگاتی ہے۔ ہیکس کیس ٹوگل A–F کے لیے بڑے یا چھوٹے حروف منتخب کرتا ہے۔
  5. لائیو کراس پین sync. کسی بھی پین میں ترمیم کرنے سے 100 ملی سیکنڈ کا debounced re-conversion شروع ہوتا ہے جو دیگر پین اپ ڈیٹ کر دیتا ہے۔ جس پین میں آپ ٹائپ کر رہے ہیں وہ ہر keystroke پر حقیقت کا ماخذ مانی جاتی ہے۔

بیس کنورٹر کیوں استعمال کریں

  • میموری ڈمپ پڑھنا. ڈیبگرز، ڈِساسمبلرز اور کور ڈمپ ویورز پتے اور رجسٹر قدریں ہیکس میں دکھاتے ہیں۔ انہیں ڈیسیمل میں تبدیل کر کے ایک ہی ٹریس میں رپورٹ ہونے والی گنتیوں، سائزوں اور آف سیٹس سے موازنہ کیا جا سکتا ہے۔
  • رنگ کوڈز کے ساتھ کام. CSS، ڈیزائن ٹولز اور امیج فارمیٹس رنگوں کو #d2511a جیسے ہیکس ٹرپلٹس میں لکھتے ہیں۔ ہر جوڑے کو ڈیسیمل میں تبدیل کرنے سے وہی رنگ rgb(210, 81, 26) کی شکل میں آتا ہے جو آپ کا کلر پکر یا accessibility چیکر چاہتا ہے۔
  • فائل پرمیشنز کو سمجھنا. Unix chmod قدریں آکٹل میں لکھی جاتی ہیں: 755 کا مطلب rwxr-xr-x ہے جب آپ ہر آکٹل ہندسے کو اس کے تین بائنری بٹس میں تبدیل کریں۔ کنورٹر یہ تصویر ایک ہی قدم میں دکھاتا ہے۔
  • بٹ فلیگز ڈیبگ کرنا. نیٹ ورک پروٹوکولز، kernel syscalls اور ہارڈ ویئر رجسٹرز بہت سے boolean فلیگز ایک ہی integer میں پیک کرتے ہیں۔ integer کو بائنری میں پڑھنے سے ایک نظر میں معلوم ہوتا ہے کون سے بٹس سیٹ ہیں۔

عام استعمال

بیس کنورژن روزمرہ developer، security اور hardware کے کام میں اس وقت ظاہر ہوتی ہے جب کوئی نمبر محض گنتی سے زیادہ ہو۔

  • Embedded firmware: JTAG probe سے hex dump پڑھیں، کسی function کا پتہ تلاش کریں، اور اپنے debugger script کے قبول کردہ decimal offset پر breakpoint کمانڈ لکھیں۔
  • نیٹ ورک سیکیورٹی: dotted-decimal میں پرنٹ 32-bit netmask کو واپس بائنری میں تبدیل کر کے prefix length گنیں، پھر ACL rule کے لیے CIDR شکل لکھیں۔
  • CTF پزلز اور crypto چیلنجز: XOR کے تحت کسی لیک key fragment کا candidate plaintext سے موازنہ کرتے ہوئے hex، decimal اور binary کے درمیان آگے پیچھے ہوں۔

ایک حل شدہ مثال

decimal پین میں 255 ٹائپ کریں۔ hex پین FF (یا prefix toggle چالو ہو تو 0xFF) دکھائے گا، binary پین 11111111 (گروپ کردہ 1111_1111)، اور octal پین 377۔ custom-pane radix کو 36 پر سیٹ کریں تو یہی قدر 73 بنتی ہے۔ decimal پین میں 123456789012345678901234567890 جیسی بہت بڑی قدر ٹائپ کریں؛ hex پین BigInt راستہ استعمال کر کے 18EE90FF6C373E0EE4E3F0AD2 دکھائے گا۔

FAQ

نمبر بیس کیا ہے؟

نمبر بیس، یا ریڈکس، وہ تعداد ہے جتنے منفرد ہندسے ایک پوزیشنل نظام اگلی پوزیشن میں carry جانے سے پہلے استعمال کرتا ہے۔ Decimal (بیس 10) میں 0–9 ہیں؛ binary (بیس 2) میں صرف 0 اور 1؛ hexadecimal (بیس 16) میں 0–9 اور A–F۔ بیس بدلنے سے کسی نمبر کی قدر نہیں بدلتی — صرف اس کے ہندسوں کے لکھنے اور گروہ کرنے کا طریقہ بدلتا ہے۔

پروگرامنگ میں hexadecimal کیوں استعمال ہوتی ہے؟

ایک hex ہندسہ ٹھیک چار binary bits سے ملتا ہے، اس لیے دو hex ہندسے ایک byte اور آٹھ hex ہندسے ایک 32-bit word کا احاطہ کرتے ہیں۔ اس سے hex میموری ایڈریسز، رجسٹر مواد، رنگ triplets اور cryptographic keys کی سب سے compact human-readable شکل بنتی ہے۔ 0xFF پڑھنا 11111111 سے تیز ہے، اور bit pattern بھی وہیں موجود ہے اگر چاہیں۔

کیا میں بیس 36 سے آگے convert کر سکتا ہوں؟

یہ ٹول بیس 36 پر رکتا ہے کیونکہ یہ native JavaScript parseInt اور toString APIs کی اوپری حد ہے جو 0–9 کے بعد A–Z کو ہندسہ حروف تہجی کے طور پر قبول کرتے ہیں۔ بیس 37–62 ایک کسٹم حروف تہجی (مثلاً Bitcoin ایڈریسز میں استعمال Base58) سے ممکن ہیں لیکن وہ ایک الگ ٹول کے طور پر ٹریک کیے جاتے ہیں۔

کیا یہ منفی اعداد اور floats سنبھالتا ہے؟

منفی integers ہر بیس میں leading minus sign کے ساتھ دکھائے جاتے ہیں — یہی وہ رویہ ہے جو Number.prototype.toString کے ساتھ آتا ہے۔ منتخب bit width (8، 16، 32، 64) میں two's-complement representation ایک الگ view ہے جسے ہم شامل کرنے کا ارادہ رکھتے ہیں۔ Floating-point بیس کنورژن بھی اس ورژن کے دائرے سے باہر ہے؛ یہ ٹول صرف integer قدروں کو سنبھالتا ہے۔

بیس کنورژن ایک چھوٹا کام ہے جو firmware، security اور graphics کے کام میں بار بار آتا ہے۔ اسے براؤزر ٹیب میں کرنا — انہی arithmetic primitives سے جو Node اور V8 پہلے سے لاتے ہیں — کام کو تیز اور ڈیٹا کو آپ کی مشین پر رکھتا ہے۔