سؤال

لدي رقم 128 بت مخزنا كأرقام 2 64 بت ("مرحبا" و "Lo"). أحتاج فقط لتقسيمه بواسطة رقم 32 بت. كيف يمكنني أن أفعل ذلك، باستخدام عمليات 64 بت الأصلي من وحدة المعالجة المركزية؟

(من فضلك، لاحظ أنني لا أحتاج إلى مكتبة دقيقة تعسفية. فقط بحاجة إلى معرفة كيفية جعل هذا التقسيم البسيط باستخدام العمليات الأصلية. شكرا لكم).

هل كانت مفيدة؟

المحلول

إذا كنت تقوم بتخزين القيمة (128 بت) باستخدام أكبر تمثيل أصلي محتمل يمكن للهندسة المعمارية أن تتعامل مع (64 بت) سيكون لديك مشاكل في التعامل مع النتائج المتوسطة للتقسيم (كما وجدت بالفعل :)).

ولكن يمكنك دائما استخدام تمثيل أصغر. ماذا عن أربعة أعداد من 32 بت؟ بهذه الطريقة يمكنك استخدام العمليات الأصلية 64 بت دون مشاكل تجاوز.

يمكن العثور على تطبيق بسيط (في دلفي) هنا.

نصائح أخرى

بعض كود C. هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top