تقنية (الصفحة 113)

أفكار وأدوات رقمية بلغة مفهومة.

2060 مقالًا

تقنية

spacing: هل تعطي أصغر مسافة موجبة؟

قد تستخدم spacing لبناء سماحية عددية، فتفترض أن نتيجتها مسافة موجبة إلى أقرب جار. لكن تجربة تخص العدد −2 تكشف مشكلتين: الإشارة سالبة، والجار نحو الصفر أقرب من الجار الذي تحدده هذه الخطوة. لذلك نميز اتجاه الانتقال عن مقدار الفاصل.

3 دقائق قراءة4 مصادر

تقنية

trunc: هل يبقى صفرها السالب بعد التحويل إلى صحيح؟

قد تحذف الجزء الكسري باستخدام trunc، ثم تحول الناتج إلى عدد صحيح وتعيده إلى float64. تساوي القيم قبل التحويل وبعده قد يوحي بأن شيئًا لم يتغير. لكن في مثالنا يفقد الصفر الناتج من −0.75 إشارته السالبة خلال هذا المسار؛ لذلك نفحص سجل الإشارة إلى جانب القيمة.

3 دقائق قراءة3 مصادر

تقنية

angle: هل تعني 180° أن المركب غير صفري؟

قد تقرأ زاوية 180° من angle فتتصور عددًا مركبًا غير صفري على الجهة السالبة. لكن في تجربتنا أعطى أحد تمثيلات الصفر المركب الزاوية نفسها، مع مقدار يساوي صفرًا. سنفصل نتيجة الزاوية عن اختبار المقدار، ونتابع إشارتي الجزأين الحقيقي والتخيلي.

3 دقائق قراءة4 مصادر

تقنية

real: هل الجزء الحقيقي نسخة مستقلة؟

قد تستخرج الجزء الحقيقي من مصفوفة مركبة لتعدّل أرقامه، وتظن أن الناتج الحقيقي مستقل عن الأصل المركب. في مثالنا بقيت البيانات مشتركة: كتابة واحدة في الناتج غيرت جزءًا من الأصل. سنضع نسخة صريحة بجواره، ثم نتابع ثلاث لقطات للكتابة في الاتجاهين.

4 دقائق قراءة4 مصادر

تقنية

sort_complex: هل يرتب بحسب المقدار؟

عندما ترتب أعدادًا مركبة، تحتاج إلى تحديد ما تقارنه: الجزأين الحقيقي والتخيلي، أم مقدار كل عدد. في مثالنا وضعت sort_complex أكبر مقدار أولًا، بينما وضع الفرز بالمقدار هذا العدد أخيرًا. سنقرأ ترتيبين للقيم الخمس نفسها ونراجع سبب الاختلاف.

4 دقائق قراءة4 مصادر

تقنية

isscalar: هل يكفي صفر الأبعاد؟

قد تحمل مصفوفة NumPy عددًا واحدًا دون محاور، ومع ذلك تعيد isscalar لها False. في مثالنا بقي العدد 13 نفسه بين خمسة تمثيلات، لكن نتيجة الاختبار تغيرت مع نوع الكائن. سنقرأ اختبار النوع إلى جانب عدد الأبعاد، ثم نرى أثر استخراج العنصر.

4 دقائق قراءة4 مصادر

تقنية

binary_repr: متى تختفي إشارة السالب؟

العدد −9 واحد، لكن نصه الثنائي قد يبدأ بشرطة أو يتكون من آحاد وأصفار فقط. في binary_repr يحدد width طريقة كتابة السالب. سنقرأ ثلاثة نصوص للقيمة نفسها، ثم نفحص لماذا لا يعيد تحويل النص إلى عدد في الأساس 2 القيمة السالبة تلقائيًا.

4 دقائق قراءة3 مصادر

تقنية

format_float_positional: هل precision=2 تعني منزلتين؟

كتابة precision=2 لا تكفي وحدها لفهم نص عشري تنتجه format_float_positional. للقيمة 13.25 حصلنا على "13.25" في إعداد، و"13." في الآخر؛ بقي العدد الأصلي نفسه. سنثبت بقية الخيارات ونغير fractional، ثم نراجع مثالًا أكبر وتحكمًا صغيرًا تتفق فيه النتيجتان.

4 دقائق قراءة3 مصادر

تقنية

format_float_scientific: هل exp_digits يغير القيمة؟

قد يبدو النص "1.02e+003" أدق من "1.02e+3" لأنه أطول. في مثالنا خرج النصان من العدد 1024 بإعدادين يختلفان في exp_digits وحده، وبقيا يمثلان القيمة المقربة 1020 نفسها. سنفصل عدد خانات الأس عن المعامل، ونفحص معنى الحد الأدنى للعرض.

4 دقائق قراءة3 مصادر

تقنية

base_repr: هل padding يحدد طول النص؟

قد تختار padding=2 وتتوقع نصًا من خانتين، ثم تظهر أربع. في مثالنا أعادت base_repr للعدد 93 في الأساس 16 النص 005D؛ أضاف الطلب صفرين إلى المقدار 5D. سنعد الأصفار والخانات والإشارة، ونفحص حدًا يتغير عنده طول المقدار.

4 دقائق قراءة3 مصادر

تقنية

iinfo: هل حدود النوع هي أصغر بياناتك وأكبرها؟

تحتوي مصفوفتنا int8 على 61 و 64 و 70، لكن iinfo تعرض −128 و 127. لم تظهر هاتان القيمتان في البيانات أصلًا. سنفصل حدود النوع عن أصغر عنصر وأكبره، ونقارن مثيلين يحملان 61 بنوعين مختلفين.

4 دقائق قراءة3 مصادر

تقنية

iscomplexobj: هل True يعني جزءًا تخيليًا غير صفري؟

قد تعيد iscomplexobj القيمة True لمصفوفة، ثم تعطي iscomplex القناع [False,False] للمصفوفة نفسها. في مثالنا النوع complex128 والتخيلي صفر في العنصرين. سنقارن فحص النوع بفحص القيم، ونستعمل تحكمًا حقيقيًا وآخر مختلطًا.

4 دقائق قراءة3 مصادر