بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
قرأت في مواضيع متفرقة على صفحات هذا المنتدى بعض الاقترحات لضغط الملفات وكان من ضمنها هذا الموضوع
وكان فيه اقتراح لعمل ورشة لهذا لتصميم خوارزمية ضغط ولكن يبدو انه لم يتم عملها
المهم لدي فكرة لضغط البيانات الثنائية اي بشكلها الـ Hex وهو نمط البيانات المفضل
لدي بالاضافة للمصفوفات طبعا :lol:
حسنا لن اشرح الفكرة الان ولكن لنرى ان كنتم ستتوصلون لها من هذه الـ Tips في الشكل الاتي
- معروف ان اصغر وحدة يمكننا استخلاصها مباشرة هي البايت BYTE او unsigned char
- ومعروف ايضا ان البايت BYTE به ثمانية 8 بت Bit
- ايظا معروف ان البت Bit يحمل قيمتين اما 0 او 1
- وعليه فإن عدد الاحتمالات التي يمكن ان يحملها 1 بايت BYTE مساوية لـ 2*8^2 اي 256 احتمال
وهي من 0 الى 255 وتمثل بالهيكس من 0x00 الى 0xFF المناضرة لـ 00000000 الى 11111111
بالنضام الثنائي Binary .
حسنا لنفرض الان ان لدينا بايت واحد نريد ضغطه ولتكن قيمته 0x2A وهو بالطبع سياخذ 8 بت اي القيمة
00101010
السؤال هنا هل يمكنكم تمثيل البايت السابق في 6 بت فقط اعتمادا على الشكل الاتي
اذا استطعتم ذلك وانا واثق من ذلك ان شاء الله ,فسيتم توفير عدد 2 بت وبالتالى تقليل حجم الملف , بانتظار افكاركم
ملاحظة : يمكن عمل ذلك وان لم تتمكنوا من التوصل لطريقة الحل ساشرحها لكم ان شاء الله
تحياتي


