arrow_backفیلڈ نوٹس پر واپس جائیں
COMPUTER SCIENCE شائع شدہ 5 Aug 2026

Binary، Hex، اور Data Units کی وضاحت

Programming، networking، اور forensics کے کام میں استعمال ہونے والے binary، hexadecimal، اور data unit conventions کی عملی glossary۔

ہر byte جو آپ hex editor میں دیکھتے ہیں، ہر subnet mask جو آپ calculate کرتے ہیں، ہر file size جو کوئی tool report کرتا ہے — یہ سب number systems اور unit conventions کے ایک چھوٹے سے مجموعے پر منحصر ہے۔ اگر آپ یہ غلط کریں تو آپ buffer size کا غلط اندازہ لگائیں گے، memory dump کو غلط طریقے سے پڑھیں گے، یا کسی ساتھی سے اس بات پر جھگڑیں گے کہ 1 KB 1000 bytes ہے یا 1024 bytes۔

Binary: وہ base جو ہر computer حقیقی طور پر بولتا ہے

Binary base 2 ہے — صرف 0 اور 1۔ ایک واحد binary digit کو bit کہتے ہیں۔ 8 bits کو ایک ساتھ group کریں تو آپ کو byte ملتا ہے، جو 256 مختلف values (0 سے 255 unsigned، یا -128 سے 127 signed two's complement) کی نمائندگی کر سکتا ہے۔

جب آپ 01001000 دیکھتے ہیں تو یہ decimal میں 72 ہے، جو اتفاقی طور پر 'H' کا ASCII code ہے۔ ہاتھ سے convert کرنا صرف rightmost bit سے 2 کی powers کو جمع کرنا ہے: 2^6 + 2^3 = 64 + 8 = 72۔ python3 -c "print(bin(72))" یا کسی file پر xxd جیسے tools یہ فوری طور پر کریں گے، لیکن جب آپ bitmask کو reverse engineer کر رہے ہوں یا TCP header میں flag values کو کام کر رہے ہوں تو math کو سمجھنا ضروری ہے۔

Hexadecimal: binary کا shorthand

Hex base 16 ہے، 0-9 اور A-F استعمال کرتے ہوئے۔ یہ اس لیے موجود ہے کیونکہ binary بڑے scale پر ناقابلِ فہم ہے اور decimal byte boundaries کے ساتھ صاف طریقے سے map نہیں کرتا۔ ایک hex digit بالکل 4 bits کی نمائندگی کرتا ہے، تو دو hex digits ایک مکمل byte کی نمائندگی کرتے ہیں — 0x00 سے 0xFF تمام 256 byte values کو بغیر کسی ضائع ہونے والی جگہ کے cover کرتے ہیں۔

یہی وجہ ہے کہ hex dumps xxd، hexdump -C، یا disassembler کی memory view میں default ہیں۔ جب آپ کسی file کی شروعات میں 0x4D 0x5A دیکھتے ہیں، تو یہ MZ header ہے جو Windows PE executable کی نشاندہی کرتا ہے۔ Memory addresses، color codes (#FF5733)، MAC addresses، اور IPv6 addresses سب روایتی طور پر hex میں لکھے جاتے ہیں کیونکہ یہ underlying byte اور nibble structure کے ساتھ بہت صاف طریقے سے map کرتے ہیں۔

Hex کو decimal میں convert کرنا: 0x4D = (4 × 16) + 13 = 77۔ Python میں، int('4D', 16) آپ کو hand math کے بغیر وہاں لے جاتا ہے، اور hex(77) دوسری طرف جاتا ہے۔

جہاں binary، decimal، اور hex عملی طور پر ملتے ہیں

IP addresses تینوں کے ٹکرانے کی ایک اچھی مثال ہیں۔ 192.168.1.1 جیسا IPv4 address حقیقی طور پر چار bytes ہے: binary میں 11000000.10101000.00000001.00000001، یا hex میں C0.A8.01.01۔ Subnetting math — یہ معلوم کرنا کہ آیا دو addresses ایک ہی network پر ہیں — بنیادی طور پر subnet mask کے خلاف binary AND operations ہے، حالانکہ ہم سہولت کے لیے تمام چیزوں کو dotted decimal میں لکھتے ہیں۔

Digital forensics اور malware analysis میں، آپ مسلسل ان نمائندگیوں کے درمیان ترجمہ کر رہے ہیں۔ ایک disassembler opcodes کو hex میں دکھاتا ہے، لیکن CPU خام binary کو execute کرتا ہے، اور register values کو context کے لحاظ سے اکثر decimal offsets یا ASCII strings کے طور پر interpret کیا جاتا ہے۔ یہ جاننا کہ 0x41 بیک وقت number 65 اور ASCII character 'A' دونوں ہے، یہ قسم کی pattern recognition ہے جو manual analysis کو نمایاں طور پر تیز کرتی ہے۔

Data units: 1000 بمقابلہ 1024 کا مسئلہ

یہی وہ جگہ ہے جہاں لوگ حقیقی طور پر پکڑے جاتے ہیں۔ Storage manufacturers، filesystems، اور operating systems ہمیشہ اس بات پر متفق نہیں ہوتے کہ ایک

AI کی مدد سے لکھا گیا، Michal Pilch (CISSP)، Korra Studio کے ذریعے جائزہ لیا گیا اور شائع کیا گیا۔

آگے بڑھنے کے لیے تیار ہیں؟

یہ Korra Studio کے علم کے ذخیرے کا ایک نوٹ ہے — یہ پلیٹ فارم ہر موضوع کو ایک سے ایک رہنمائی کے ساتھ جوڑتا ہے۔

مفت شروع کریںarrow_forward