أولا: الارقام بالـ binary و الـ hexadecimal و العلاقة بينهما كما تعلمون (و بدون فلسفة زايدة) الكومبيوتر يتعامل مع الارقام على شكل اصفار و آحاد, 01000111 و يتبع في هذا نظاما للأرقام يختلف عن النظام اللذي نتبعه نحن البشر, فالرقم 10 بالنسبة لنا هو الرقم عشرة, لماذا؟ لانه مكون من خانتين, اول خانة هي خانة الاحاد, و قيمتها صفر, و ثاني خانة و هي خانة العشرات, و قيمتها واحد, اذا هناك صفر آحاد + واحد عشرات = صفر + عشرة = عشرة بالنسبة للحاسوب, فالرقم 10 هو اثنان, لان النظام الثنائي يعتبر الخانة الأولى هي خانة الواحد, و الخانة الثانية هي خانة الاثنان, يمكن اعتبار ان 0 هو off او مغلق, و 1 هو on او مفتوح. هنا خانة الواحد off, و خانة الاثنين هي on, يعني صفر + اثنان = اثنان. ليس هذا المجال للاسهاب في شرح نظم الاعداد, لا بد من وجود العديد من المواضيع في هذا المنتدى او في اماكن مختلفة من الانترنت تتحدث عن هذا الموضوع. ابسط طريقة لتحديد ما هي قيم رقم ثنائي, مثل 100101001 هي التفكير في ارقام الخانات على انها تحمل قيمة معينة, و لتحديد قيمة الرقم, نقوم باخذ جميع الخانات اللتي تحمل رقم 1, و نقوم باضافة قيم هذه الخانات الى بعضها. في الارقام العشرية, فان الخانات مرتبة هكذا: آحاد - عشرات - مئات - آلاف ... الخ او, بنفس الطريقة, لو كتبناها على شكل ارقام: واحد - عشرة - مئة - الف - عشرة الاف - مئة الف ... الخ او 1 - 10 - 100 - 1000 - 10000 ... الخ حيث كل خانة هي الخانة السابقة مضروية في عشرة, و ذلك لان النظام عشري! في النظام الثنائي, فإن كل خانة هي الخانة السابقة مضروبة في 2: 1 - 2 - 4 - 8 - 16 - 32 مثلا, هذا الرقم: 100101001 يمكن تحليله هكذا:
1 0 0 1 0 1 0 0 1----------------------------------------------------------------------- 256 125 64 32 16 8 4 2 1
11000110 / \ / \ / \1100 0110 | | | | | | | | C 6 \ / \ / \ / \ / C6
F 0 3 C | | | | | | | | | | | |1111 0000 0011 1100