21-01-17, 04:35 PM
اخي العزيز المهم هو جمع بايت مع بايت فكيفما ادخلت البيانات ستكون النتيجة واحدة
عشري او سداسي عشري او حتى بيانري وثماني لن يفرق هنا فكلها تؤدي في النهاية الى البايت ومضاعفاته
انا عندي تصور كامل للحل ووضع الكود لكن ما افكر به توقف أمام نقطة جعلته ضعيفا
ما افكر فيه هو كالتالي
هذه مصفوفة
0 55 56 124 254 0 0 1 99 88 234 0 0 22 2 55
اريد ان اطرح هذه منها
55 66 34 67 5 0 6 123 234 243 1 0 32 34 234 22
انظر لأكبر سلسة اصفار وهي هنا 2 فأقوم بقراءة كل ثلاثة بايتات كقيمة واحدة
ثم اطرح منها البايت المطلوب ثم اعيد تقسيم القيمة الناتجة الى ثلاث بايتات واعيد كل بيات الى مكانه بعد الناتج
ثم ازيح القراءة واحد بايت ثم اعيد قراءة ثلاث بايتات بعد الازاحة حتى نهاية المصفوفة
هذه الفكرة تحل الموضوع لكن ماذا لو وجدت سلسة اصفار اكبر من اكبر متغير يعني لو وجدت مثلا 64 صفر متتالي او اكثر من ذلك
فهنا يظهر ضعف فكرتي
جزاكم الله كل خير على صنيعكم معي
عشري او سداسي عشري او حتى بيانري وثماني لن يفرق هنا فكلها تؤدي في النهاية الى البايت ومضاعفاته
انا عندي تصور كامل للحل ووضع الكود لكن ما افكر به توقف أمام نقطة جعلته ضعيفا
ما افكر فيه هو كالتالي
هذه مصفوفة
0 55 56 124 254 0 0 1 99 88 234 0 0 22 2 55
اريد ان اطرح هذه منها
55 66 34 67 5 0 6 123 234 243 1 0 32 34 234 22
انظر لأكبر سلسة اصفار وهي هنا 2 فأقوم بقراءة كل ثلاثة بايتات كقيمة واحدة
ثم اطرح منها البايت المطلوب ثم اعيد تقسيم القيمة الناتجة الى ثلاث بايتات واعيد كل بيات الى مكانه بعد الناتج
ثم ازيح القراءة واحد بايت ثم اعيد قراءة ثلاث بايتات بعد الازاحة حتى نهاية المصفوفة
هذه الفكرة تحل الموضوع لكن ماذا لو وجدت سلسة اصفار اكبر من اكبر متغير يعني لو وجدت مثلا 64 صفر متتالي او اكثر من ذلك
فهنا يظهر ضعف فكرتي
جزاكم الله كل خير على صنيعكم معي

