تمثيل المعطيات في الذاكرة: النصوص، الصور، الصوت، الفيديو، والبرامج
المقدمة
كل البيانات في الحاسوب - سواء كانت نصوصًا، صورًا، أصواتًا، أو برامج - تُخزن في النهاية كسلسلة من البتات (0 و1). هذا الدرس يشرح بالتفصيل كيف يتم تمثيل هذه الأنواع المختلفة من البيانات في ذاكرة الحاسوب.
1. تمثيل الحروف والرموز (النصوص)
1.1. الترميز النصي الأساسي
- ASCII: نظام ترميز يستخدم 7 بت (128 حرفًا)
- مثال: A → 01000001
- مثال: 0 → 00110000
- Unicode: يمتد ليشمل جميع لغات العالم
- UTF-8: ترميز متغير الطول (1 إلى 4 بايت لكل حرف)
- A → 01000001 (1 بايت)
- € → 11100010 10000010 10101100 (3 بايت)
- UTF-8: ترميز متغير الطول (1 إلى 4 بايت لكل حرف)
تمرين 1:
حول كلمة "Hello" إلى:
- ASCII (7 بت)
- UTF-8
الحل:
- H (72) → 01001000
- e (101) → 01100101
- l (108) → 01101100
- l (108) → 01101100
- o (111) → 01101111
2. تمثيل البيانات الرسومية (الصور)
2.1. الصور النقطية (Bitmap)
- المبدأ: شبكة من البكسلات، كل بكسل له لون
- تمثيل الألوان:
- RGB 24-bit: 1 بايت لكل من الأحمر، الأخضر، الأزرق
- مثال: الأحمر النقي → FF0000 (Hexadecimal)
- RGBA: إضافة قناة الشفافية (Alpha)
- RGB 24-bit: 1 بايت لكل من الأحمر، الأخضر، الأزرق
مثال: صورة 2x2 بكسل:
[FF0000, 00FF00]
[0000FF, FFFFFF]
تمثيلها في الذاكرة (24-bit):
11111111 00000000 00000000 // أحمر 00000000 11111111 00000000 // أخضر 00000000 00000000 11111111 // أزرق 11111111 11111111 11111111 // أبيض
2.2. الصور المتجهة (Vector)
- تمثيل رياضي للأشكال
- مثال: دائرة → (مركز، نصف قطر، لون حدود، لون تعبئة)
تمرين 2:
احسب حجم ملف صورة 800x600 بكسل بـ:
- تدرج رمادي (8 بت/بكسل)
- ألوان كاملة (24 بت/بكسل)
3. تمثيل البيانات الصوتية
3.1. الموجة الصوتية الرقمية
- أخذ العينات (Sampling): قياس سعة الموجة بتردد معين
- معدل العينة: 44.1 كيلوهرتز (لجودة CD)
- الدقة: 16 بت لكل عينة (65,536 مستوى)
مثال: تمثيل 3 عينات من صوت (16 بت):
Sample 1: 00011010 01100101 Sample 2: 11100101 01010101 Sample 3: 00110011 11001100
3.2. تنسيقات الضغط
- غير مضغوط: WAV, AIFF
- مضغوط: MP3 (يُزيل الترددات غير المسموعة)
تمرين 3:
احسب حجم دقيقة صوت بـ:
- 44.1 kHz
- 16 بت/عينة
- ستريو (قناتان)
4. تمثيل بيانات الفيديو
4.1. الفيديو غير المضغوط
- سلسلة من الصور (إطارات) + صوت
- مثال: فيديو 1080p @ 30fps:
- كل إطار: 1920x1080x3 بايت = 6.22 ميجابايت
- دقيقة واحدة: 6.22 × 30 × 60 ≈ 11.2 جيجابايت
4.2. ضغط الفيديو (H.264/HEVC)
تقنيات متقدمة مثل:
- الفرق بين الإطارات (Inter-frame compression)
- التحويلات الرياضية (DCT)
تمرين 4:
لماذا يستخدم YouTube تنسيق VP9 بدلاً من H.264 في بعض المقاطع؟
5. تمثيل البرامج (الأكواد التنفيذية)
5.1. لغة الآلة (Machine Code)
- تعليمات مباشرة يفهمها المعالج
- مثال (x86 Assembly):
MOV AL, 61h ; 10110000 01100001 ADD AL, 7 ; 00000100 00000111
5.2. ملفات التنفيذ (ELF/PE)
- تحتوي على:
- رأس (Header)
- أقسام (Sections): .text (الكود)، .data (المتغيرات)
مثال: هيكل ملف PE (Windows):
- DOS Header
- PE Signature
- COFF Header
- Section Table
- .text Section
- .data Section
6. تمارين شاملة
التمرين الختامي 1
حول المقطع النصي "123" إلى:
- ASCII
- UTF-8
- تمثيله في الذاكرة عند تخزينه في متغير C (int)
التمرين الختامي 2
صورة بحجم 64x64 بكسل:
- ما حجمها إذا كانت 8 بت/بكسل؟
- كيف يتغير الحجم إذا استخدمنا ضغط RLE وكانت الصورة أفقية متدرجة؟
التمرين الختامي 3
صوت مدته 30 ثانية:
- 22.05 kHz
- 8 بت/عينة
- مونو (قناة واحدة)
احسب الحجم مع شرح الخطوات.
الخاتمة والتطبيقات العملية
- النصوص: أساسية في كل أنظمة الحاسوب
- الوسائط المتعددة: تحتاج ضغطًا ذكيًا (مثل MPEG، MP3)
- البرامج: تختلف حسب العتاد ونظام التشغيل