| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| להראות הבנה של גדלים בינאריים וההבדל בין פריפיקסים בינאריים לפריפיקסים עשרוניים | להבין ולהשתמש בהבדלים בין: • kibi ו-kilo • mebi ו-mega • gibi ו-giga • tebi ו-tera |
| להראות הבנה של מערכות ספרות שונות | להשתמש בבסיסי הספרות בינארי, עשרוני, הקסאדצימלי ו-Binary Coded Decimal (BCD) ובייצוג One’s complement ו-Two’s complement למספרים בינאריים |
| לבצע המרה של ערך שלם מבסיס ספרות/ייצוג אחד לאחר | |
| לבצע חיבור וחסר בינאריים | באמצעות שלמים בינאריים חיוביים ושליליים |
| להראות הבנה כיצד יכול להתרחש overflow | |
| לתאר יישומים פרקטיים בהם משתמשים ב-Binary Coded Decimal (BCD) וב-Hexadecimal | |
| להראות הבנה ולHandler לייצג נתוני דמויות בצורת הבינארית הפנימית שלהם, בהתאם לקוד הדמויות המשמש | צפוי מהתלמידים שהם יהיו מוכרים עם ASCII (American Standard Code for Information Interchange), extended ASCII ו-Unicode. לא צפוי מהתלמידים לשנן קודי דמויות ספציפיים |
ייצוג מידע
מדעי המחשב A-Level · נושא 1
22:30
מערכות ספרות ומידע
התמונה הזו. השיר הזה. הסרטון הזה. השם שלך, ההודעות שלך, כל קובץ בכל התקן — בתוך המחשב, כולו הוא לא אלא אחדים ואפסים…
קריאת קול באנגלית · תרגום אנגלי + סינית שרוף בתוך הסרטון
1.1
מערכות ספירה
סיילבוס
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
שלוש מערכות הספירה שאתה חייב להכיר:
- עשרוני (decimal, בסיס 10) — משתמש בספרות 0–9. ערכי מקום הם חזקות של עשר.
- דו-ספרתי (base 2) — משתמש ב-0 וב-1. ערכי מקום הם חזקות של שתיים. כל בייט הוא 8 ביטים.
- הקסדצימלי (base 16) — משתמש ב-0–9 ולאחר מכן ב-A–F עבור 10–15. כל ספרה הקסדצימלית מייצגת בדיוק 4 ביטים.

המרות
עשרוני → דו-ספרתי: מחלקים ברצף ב-2 ונותנים את השאריות, קוראים מלמטה למעלה. או מחסרים את ערך המקום הגדול ביותר (חזקה של 2) שנכנס.
דוגמה: $558_{10}$: $558 = 512 + 32 + 8 + 4 + 2 = 2^{9} + 2^{5} + 2^{3} + 2^{2} + 2^{1}$. ב-12 ביטים: 0010 0010 1110.
דו-ספרתי → הקסדצימלי: מחלקים את הביטים ל-ניבלים (4 ביטים) מימין וממירים כל אחד. 0010 0010 1110 → 2 2 E → 22E.
הקסדצימלי → דו-ספרתי: מחליפים כל ספרה הקסדצימלית בדפוס ה-4-ביטי שלה. הקסדצימלי → עשרוני: מכפילים כל ספרה בערכו המקומי. 22E $= 2 \times 256 + 2 \times 16 + 14 = 558$.
דוגמה פותרת. ממירים את העשרוני 200 לדו-ספרתי 8-ביטי, ואז להקסדצימלי.
$200 = 128 + 64 + 8$, ולכן הדו-ספרתי הוא 11001000. בניבלים, 1100 1000 $= 12$ ו$8$, כלומר $\text{C}$ ו$8$, ולכן ההקסדצימלי הוא C8.
*קריאת 200 מתוך ערכי המקום, ולאחר מכן קבוצת הביטים לניבלים לקבלת C8 הקסדצימלי
כמה ביטים?
שאלות מבחן קובעות את רוחב הרגיסטר (8, 12 או 16 ביטים). מוסיפים אפסים מובילים עד לגודל זה: $558$ ב-12 ביטים הוא 0010 0010 1110, לעולם לא 10 0010 1110.
כדי למצוא את המספר המינימלי של ביטים הדרושים לאחסון ערך, יש לשאול אילו מקומות נדרשים:
- מספר שלם ללא סימן מ-$0$ עד $2^{n} - 1$ דורש $n$ ביטים: $200$ דורש 8 ביטים (הערך המקסימלי הוא $255$), $1000$ דורש 10 ביטים (הערך המקסימלי הוא $1023$), $16$ דורש 5 ביטים (4 ביטים מגיעים רק ל-$15$).
- מספר שלם בשלב השני (Two's complement) מ-$-2^{n-1}$ עד $2^{n-1} - 1$ דורש $n$ ביטים: $-200$ דורש 9 ביטים, כי 8 ביטים מגיעים רק ל-$-128$.
- ספרת חמישית-עשרונית אחת דורשת 4 ביטים, ספרת BCD אחת דורשת 4 ביטים, ודמות ASCII אחת דורשת 7 ביטים (8 עבור ASCII הרחבה).
קידומים בינאריים לעומת עשרוניים
שתי משפחות קידומים נראות דומות אך שונות — עשרוני (מערכות כוח של 10) ובינארי (מערכות כוח של 2):
| עשרוני (SI) | בינארי (זיכרון) |
|---|---|
| קילו $= 10^{3}$ | קיבי (Ki) $= 2^{10} = 1024$ |
| מגה $= 10^{6}$ | מיבי (Mi) $= 2^{20}$ |
| ג'יגה $= 10^{9}$ | ג'יבי (Gi) $= 2^{30}$ |
| טרה $= 10^{12}$ | טיבי (Ti) $= 2^{40}$ |
לכן, טיבייט אחד (TiB) גדול מעט מטרה-בייט אחד (TB). דיסק "1 TB" מכיל $10^{12}$ בייטים, אך מערכת הפעלה שמציגה מידע ביחידות TiB תראה מספר קטן יותר.
בינארי, עשרוני ו-HEX
הקלט מספר ותראה אותו בבינארי, עשרוני ובמערכת Hexadecimal בו-זמנית – ואיך ערכי המקום מתחברים.
| English | עברית |
|---|---|
| number system/ˈnʌmbə ˈsɪstəm/ | מערכת מספרים |
| binary/ˈbaɪnəri/ | דו-ספרתי |
| denary/ˈdiːnəri/ | עשרוני |
| digit/ˈdɪdʒɪt/ | ספרה |
| place value/pleɪs ˈvæljuː/ | ערך מקום |
| BCD/ˌbiː siː ˈdiː/ | BCD |
| two's complement/tuːz ˈkɒmplɪmənt/ | משלים של שניים |
| signed integer/saɪnd ˈɪntɪdʒə/ | מספר שלם עם סימן |
| sign bit/saɪn bɪt/ | סימן ביט |
| arithmetic shift/ˌærɪθˈmetɪk ʃɪft/ | הזזה אריתמטית |
| one's complement/wʌnz ˈkɒmplɪmənt/ | משלים של אחד |
| 7-segment display/ˈsevən ˈseɡmənt dɪˈspleɪ/ | תצוגה בת 7 מקטעים |
| memory address/ˈmeməri əˈdres/ | כתובת זיכרון |
| code point/kəʊd pɔɪnt/ | נקודת קוד |
| character set/ˈkærɪktə set/ | סט תווים |
| encoding/enˈkəʊdɪŋ/ | הקידוד |
1.1
אריתמטיקה בינארית
חיבור בינארי
יש לבצע חיבור עמודה אחר עמודה מימין לשמאל, עם העברת יחידה כמו בעשרוני:
| ביט A | ביט B | העברת כניסה | סכום ביט | העברת יציאה |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
התפתשות (Overflow) מתרחשת כאשר התוצאה דורשת יותר ביטים מה-רשמה יכולה להכיל — העברת היציאה מהעמודה השמאלית ביותר היא ביט ההתפתשות.
דוגמה מפורטת. חבר את המספרים השלמים ללא סימן 8-ביטיים $10110101$ ו-$01101100$, והעלעל על התוצאה.
$10110101 + 01101100 = 1\,00100001$. התשובה דורשת 9 ביטים, ולכן אינה נכנסת לרשמת 8 ביטים: התרחשה התפתשות. תשובה מלאה צריכה לנקות את השגיאה ולהסביר מדוע, תוך שימוש בגודל הביט שנתון בשאלה: "התפתשות: התוצאה האמיתית ($289$) גדולה מהערך המקסימלי שאפשר לאחסן ברשמת 8 ביטים ($255$), ולכן העברת היציאה מהביט המשמעותי ביותר מאבדת ומתוצרת האחסון ($00100001 = 33$) שגויה.""
חיסור בינארי
הדרך הרגילה היא חיבור משלים לשניים: כדי לבצע $A - B$, נצור את המשלים לשניים של $B$ (נפוך כל ביט ונוסיף 1), ואז נחבר ונ拋弃 כל סחוב יציאה אחרון.
לחסר $00011110$ מ-$01100100$ (מספר אי-שלילי בעל 8 בities):
- משלים לשניים של $00011110$: הפוך → $11100001$, הוסף 1 → $11100010$.
- הוסף ל-$01100100$: תוצאה $1\,01000110$ (9 בities) — התעלם מהביט הראשי 1 → $01000110 = 70_{10}$. בדוק: $100 - 30 = 70$. ✓
מספרים שלמים עם סימן במשלים לשניים
במספר משלים לשניים בעל $n$ ביטים:
- הביט המשמעותי ביותר (MSB) הוא ביט הסימן: 0 = חיובי, 1 = שלילי.
- לקרוא מספר שלילי: להפוך כל ביט, להוסיף 1, ולאחר מכן להופך סימן.
לכן $11100010$ הוא שלילי; הפוך ביטים → $00011101$, הוסף 1 → $00011110 = 30$, ולכן הערך הוא $-30$. זהו מספר שלם עם סימן (בניגוד למספר אי-שלילי). הטווח עבור $n$ בities הוא $-2^{n-1}$ עד $+2^{n-1} - 1$; עבור 8 בities, $-128$ ($10000000$) עד $+127$ ($01111111$).
אותם ביטים משמעים מספרים שונים בהתאם לאופן הקריאה המוסכם. כ-מספר ללא סימן, כל ביט הוא ערך מקומי, כך ש-8 ביטים רצים מ-$0$ עד $255$; כ-מספר משלים לשניים עם סימן, הביט העליון הוא סימן, ולכן אותם 8 ביטים רצים מ-$-128$ עד $+127$. הדפוס $11111111$ הוא $255$ אם קוראים אותו באופן אחד ו-$-1$ אם קוראים אותו באופן אחר — אין דבר בביטים עצמם שמדובר איזה מהם.
אותו байт בקריאה ללא סימן וכקריאה עם סימן: רק הפרשנות המוסכמת מבדילה ביניהם
משלים לשניים ב-8 ביטים: ביט הסימן מחלק את התחום לשליליים ($-128$ עד $-1$) וחיוביים ($0$ עד $127$)
דוגמה פותרת. מהו הערך העשרוני שמייצג המספר משלים לשניים ב-8 ביטים $10110100$?
ה-MSB הוא 1, ולכן הוא שלילי. הפוך → $01001011$, הוסף 1 → $01001100 = 76$, ולכן הערך הוא $-76$. בדיקה באמצעות ערכים מקומיים: $-128 + 32 + 16 + 4 = -76$.
דוגמה פותרת. כתוב $-108$ כמספר שלם משלים לשניים ב-12 ביטים.
התחל מ-$+108$ ב-12 בities: $108 = 64 + 32 + 8 + 4$, ולכן 0000 0110 1100. הפוך כל ביט: 1111 1001 0011. הוסף 1: 1111 1001 0100. בדוק ערך מקומי, כאשר הביט העליון שווה ל-$-2^{11} = -2048$: $-2048 + 1024 + 512 + 256 + 128 + 16 + 4 = -108$. ✓
עבור 12 בities הטווח הוא $-2048$ (1000 0000 0000) עד $+2047$ (0111 1111 1111). שאלות המבקשות את הערך הקטן והגדול ביותר מבקשות את הדפוסים הללו, ולכן יש ללמוד את הכלל: המספר השלילי ביותר הוא ביט סימן 1 שאחריו אפסים; המספר החיובי ביותר הוא ביט סימן 0 שאחריו אחוזים.
הזזה אריתמטית מזיזת כל ביט שמאלה או ימינה אך שומרת על הסימן: הזזה ימינה במקום אחת חוצה את הערך ומעתיקה את ביט הסימן לתוך החלל הרוקן בצד שמאל, ולכן מספר שלילי נשאר שלילי (1111 1001 0100 מוזז ימינה שלוש מקומות הוא 1111 1111 0010, שהוא $-14$: $-108 / 8 = -13.5$, והזזה ימינה מעגלת כלפי מטה). הזזה שמאלה מכפילה את הערך. הזזות שייכות לפקודות האסמבלי בנושא 4, אך שאלה זו נשאלת כאן בהקשר עבודת המספרים.
שפיכה במחשוב סימני מתרחשת כאשר התוצאה האמתית נופלת מחוץ לטווח זה — היא מזהה כאשר ביט הסימן משתנה בצורה שגויה (שתי חיוביים המניבות שלילי, או שני שליליים המניבים חיובי).
משלים אחד
לפני שיטת המשלים שניים, סכמה ישנה יותר בשם משלים אחד הייתה מייצגת מספר שלילי על ידי פשוט הפיכת כל ביט של המספר החיובי — אין שלב "הוספת 1".
- $+30 = 00011110$, ולכן במשלים אחד $-30 = 11100001$ (רק ההפוך).
- חיסרון: יש לה שני אפסים — $00000000$ ($+0$) ו$11111111$ ($-0$) — מה שמבזבז דוגמת ביטים וגורם למחשוב לא נוח.
משלים שניים (הפיכה ו הוספת 1) מבטל את אפס השלילי: יש לו אפס יחיד ומאפשר לחיבור ולחסר להשתמש באותו מעגל. זוהי הסיבה שהמחשבים המודרניים מאחסנים שלמים סימניים בשיטת משלים שניים, ולא במשלים אחד.
בינרי ומספרים שלמים עם סימן
בייט = סכום ערכי המקומות
ראה כיצד דפוס בינרי של 8 ביט מתאים למספר (וכיצד הוא יגרום לאחיזה מעבר ל-255).
סימון מספרים שלמים עם סימן בשלבים משלים
הביט השמאלי ביותר נושא ערך מקום שלילי. הפוך כל ביט — או לחץ על הפך סימן (הפוך כל ביט, ואז הוסף 1) — והצפה לערך הסימני להשתנות.
| English | עברית |
|---|---|
| unsigned/ʌnˈsaɪnd/ | לא סימן |
| overflow/ˌəʊvəˈfləʊ/ | גלישה |
| most significant bit/məʊst sɪɡˈnɪfɪkənt bɪt/ | הביט המשמעותי ביותר |
1.1
עשרוני קודד בינארי (BCD)
ב-BCD, כל דיגיט עשרוני נכתב כדפוס בities עצמאי של 4 בities. המספר $93$ הוא 1001 0011 ב-BCD — לא בinaרי 93 ($01011101$). כל ניבל משתמש רק ב-0–9; דפוסים $1010$–$1111$ הם לא תקינים.
קריאת BCD: 0010 0111 0101 → 2, 7, 5 → 275.
שימוש: מחשבוני כיס, שעונים דיגיטליים ומכשירים המציגים ספרות עשרוניות — כל ספרה מניעה תצוגת 7 מקטעים. קוד מטבע משתמש לעיתים קרובות ב-BCD כדי למנוע שגיאות עיגול הנגרמות מהמרת שברים כמו 0.1 לבינארי.
תשובת "הצדקה" צריכה לקשר את השימוש לתכונה של BCD: לכל ספרה עשרונית ישנם 4 ביטים משלה, כך שספרה יכולה לשלוח ישירות לתצוגה או להתחבר ספרה לספרה, ללא הצורך בהמרת המספר כולו; Additionally, שבר עשרוני כמו $0.10$ מאוחסן בדיוק, דבר שאינו אפשרי עם שבר בינארי.

1.1
הקסה-דקסדימלי - שימושים פרקטיים
Hex הוא דרך צנועה לכתיבת בינרי (1 ספרת hex = 4 ביטים):

- כתובות זיכרון בתכנות ברמת בסיס —
0x7FFE. - ערכי צבע ב-HHTML/CSS —
#FF8800. - כתובות MAC —
AC:DE:48:00:11:22.
Hexadecimal אינו משנה את הנתונים המאוחסנים — הוא רק הופך את הבינארי לקל יותר להבנה עבור אדם.
| English | עברית |
|---|---|
| hexadecimal/ˌheksəˈdesɪml/ | מעריכי |
| nibble/ˈnɪbl/ | ניבל |
| register width/ˈredʒɪstə wɪtθ/ | רוחב רשמה |
| register/ˈredʒɪstə/ | רשמה |
1.1
קודי תווים
מחשבים מאחסנים טקסט כמספרים; לכל תווית יש נקודת קוד מספרית הנקבעת על ידי סט תווים.
ASCII
- ASCII משתמש ב-7 ביטים — 128 נקודות קוד. תוויות לטיניות בסיסיות, ספרות, סימני פיסוק וקודי בקרה.
- Extended ASCII משתמש ב-8 ביטים — 256 נקודות קוד; ה-128 התחתונים תואמים ל-ASCII, וה-128 העליונים משתנים לפי אזור גיאוגרפי.

Unicode
- Unicode הוא סט תווים אוניברסלי המכסה כמעט כל כתב, בנוסף לסמלים ואמוג'י.
- קידודים נפוצים: UTF-8 (1–4 בתים, תואם ל-ASCII), UTF-16 (2 או 4 בתים), UTF-32 (4 בתים קבועים).
מדוע Unicode עולה על ASCII
- הוא מייצג מספר רב יותר של תוויות (כל כתב, אמוג'י); ASCII מכסה רק אנגלית בסיסית.
- קבצים הם ניידים ללא בלבול בין דפי קוד, ומאפשרים טקסט רב-שווני באותו מסמך.
- פיצול: קבצי Unicode הם לרוב גדולים יותר בטקסט אנגלי בלבד.
כששאלה מבקשת הבדלים, יש לתרגל אותם בזוגות עם מספרים: ASCII משתמש ב-7 ביטים (Extended ASCII ב-8), ולכן 128 (256) תוויות; Unicode משתמש עד 32 ביטים (UTF-8 משתמש ב-1 עד 4 בתים), ולכן יותר ממיליון נקודות קוד. ASCII מכסה רק אנגלית בסיסית; Unicode מכסה כל כתב, ו-128 נקודות הקוד הראשונות שלו הן נקודות ה-ASCII. ב-UTF-8 תווית אנגלית עדיין לוקחת 1 בת, ולכן שם קובץ אנגלי ב-40 אותיות ייקח 40 בתים גם ב-ASCII וגם ב-UTF-8, בעוד שתווית סינית לוקחת 3 בתים.
תוויון מאוחסן כמספר
לכל תוויון יש מספר זיהוי; ל-⟦'A'⟧ זהו 65. הפוך ביטים כדי לראות את הקוד הזה בצורה בינארית וברמזית, בדיוק כפי שהמחשב שומר אותו.
1.2
תמונות ביטמפ
סיילבוס
| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| להראות הבנה כיצד נתונים לתמונת bitmapped image מוצפנים | להשתמש ולהבין את המושגים: pixel, file header, image resolution, screen resolution, colour depth / bit depth |
| לבצע חישובים להערכת גודל הקובץ עבור bitmapped image | |
| להראות הבנה של השפעות שינוי רכיבי תמונת ביטמאפ על איכות התמונה וגודל הקובץ | השתמש במונחים: רזולוציית תמונה, עומק צבע / עומק ביט |
| להראות הבנה כיצד מידע לגרפי וקטור מאופסן | השתמש במונחים: אובייקט שרטוט, תכונה, רשימת שרטוט |
| להסביר את השימוש ב-תמונת ביטמאפ או ב-גרפי וקטור למשימה נתונה | |
| להראות הבנה כיצד קול מיוצג ומאופסן | השתמש במונחים: דגימה, תדירות דגימה, רזולוציית דגימה, נתונים אנלוגיים ונתונים דיגיטליים |
| להראות הבנה של ההשפעה של שינוי תדירות הדגימה והרזולוציה | כולל השפעה על גודל הקובץ ועל הדיוק |
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
תמונת ביטמפ (שנקראת גם תמונה מצומדת) מאחסנת את הצבע של כל פיקסל במערכת. בראשית הקובץ כותרת קובץ מקלדת את המטא-דאטה של התמונה — רוחבה, גובהה ועומק הצבע שלה, כדי שהתוכנה תדע כיצד לקרוא את נתוני הפיקסלים הבאים.
- רזולוציית תמונה: הגודל עצמי של הביטמפ, רוחב × גובה בפיקסלים (למשל 1920 × 1080).
- רזולוציית מסך: רוחב × גובה ש-תצוגה יכולה להציג. אם רזולוציית התמונה גדולה מהמסך היא תקטן כדי להתאים; תמונה ברזולוציה נמוכה נראית חוספסת כאשר נמתחת על מסך ברזולוציה גבוהה יותר.
- עומק צבע (עומק ביט): ביטים לפיקסל. 1 bit → שחור/לבן; 8 bits → 256 צבעים; 24 bits → 16.7 מיליון ("צבע אמיתי").

גודל קובץ
חלק ב-8 לקבלת בייטים, בחלק ב-1024 לקבלת KiB, וכו'. דוגמה: תמונה בגודל $3000 \times 2000$ ברזולוציה של 24 bpp היא $3000 \times 2000 \times 24 = 1.44 \times 10^{8}$ ביטים $\approx 17.2\ \text{MiB}$.

צין את היחידות שבהן השתמשת. תוכנית התיקון מקבלת $1\ \text{MB} = 10^{6}$ בייטים (הקידום הסיוסי) או $1\ \text{MiB} = 1024 \times 1024$ בייטים (הקידום הבינארי), כל עוד העבודה המוצגת מראה איזה מהם השתמשת; אותה תמונה היא $18.0\ \text{MB}$ או $17.2\ \text{MiB}$. הוסף את גודל ראש הקובץ אם השאלה מספק אותו.
וידאו הוא רצף של תמונות במפה, כאשר כל אחת מהן היא מסגרת. לפני הדחיסה, גודלה הוא גודל מסגרת אחת $\times$ קצב המסגרות (מסגרות לשנייה) $\times$ המשך בזמן בשניות: 30 מסגרות לשנייה של $1920 \times 1080$ פיקסלים ב-24 ביטים הם $30 \times 1920 \times 1080 \times 24 \approx 1.5 \times 10^{9}$ ביטים, בערך $187\ \text{MB}$, לכל שנייה. מכאן שוידאו תמיד דחוס.
שינוי הגדרות
- רזולוציה נמוכה יותר → קובץ קטן יותר, פרטים פחותים (נראה בלוקי כשמגדילים אותו).
- עומק צבע נמוך יותר → קובץ קטן יותר, אך גוושים חלקים מראים אפקט של פסים (banding).
- גבוהה יותר של האחד או השני → קובץ גדול יותר, איכות טובה יותר.
| English | עברית |
|---|---|
| bit/bɪt/ | ביט |
| bitmap/ˈbɪtmæp/ | מפת ביטים |
| pixel/ˈpɪksl/ | פיקסל |
| file header/faɪl ˈhedə/ | ראשית קובץ |
| colour depth/ˈkʌlə depθ/ | עומק צבע |
| image resolution/ˈɪmɪdʒ ˌrezəˈluːʃn/ | רזולוציית תמונה |
| screen resolution/skriːn ˌrezəˈluːʃn/ | רזולוציית מסך |
| bit depth/bɪt depθ/ | עומק ביט |
| frame/freɪm/ | מסגרת |
1.2
גרפיקה וקטורית
גרפיקה וקטורית מאחסנת את ההוראות לציור התמונה כ-רשימת ציור — רשימה מסודרת של אובייקטי ציור (פרימיטיבים גיאומטריים: קווים, עקומות, פוליגונים, מעגלים). לכל אובייקט ציור יש מאפיינים כמו צבע, מילוי, עובי קו ומיקום (קואורדינטות). כדי להציגה, התוכנה משרטת את רשימת הציור בכל רזולוציה הנדרשת.

במפה לעומת וקטורי
| משימה | בחירה טובה יותר | סיבה |
|---|---|---|
| תמונה | BMP | פרטי פיקסל מורכבים לא ניתן לתאר בצורות גיאומטריות. |
| לוגו, סמל, תווית | Vector (ווקטורי) | קצוות חדדים; סקאלה לכל גודל ללא ערפל. |
| ציור הנדסי | וקטורי | גיאומטריה מדויקת ושינוי גודל. |
| ציור, מרקם | ביטומי | פרטי גוון חלקים לפי אזור. |
יתרון וקטורי: הוא נשמר בגודל ללא אובדן איכות — לוגו וקטורי נשאר חד בכל גודל, בעוד שתמונה ביטומית מתטשטשת בהגדלה. חוסר יתרון וקטורי: אינו יכול לתאר פרטי פיקסל שרירותיים (תמונות).
תשובת "הצדקה" מקשרת את הבחירה למשימה. "הלוגו חייב להופיע על כרטיס ביקור ועל לוח פרסום, ולכן יש לבחור בתמונה וקטורית: היא מאחסנת כאובייקטי ציור ומוצגת מחדש בחדות בכל גודל, בעוד שתמונה ביטומית תראה את הפיקסלים שלה בהגדלה." עבור תמונה הטענה הופכת הפוך: אין צורות לתאר, ולכן יש לאחסן את הצבע של כל פיקסל.

מעבדת מושגי מחשוב
סווג דוגמאות מلموسة לפי הרעיון המחשובי שהן מדגימות.
| English | עברית |
|---|---|
| vector graphic/ˈvektə ˈɡræfɪk/ | גרפיקה וקטורית |
| drawing list/ˈdrɔːɪŋ lɪst/ | רשימת איורים |
| drawing objects/ˈdrɔːɪŋ ˈɒbdʒekts/ | אובייקטי איור |
| primitive/ˈprɪmɪtɪv/ | פרמיטיב |
| properties/ˈprɒpətiz/ | תכונות |
| render/ˈrendə/ | רינדור (הפקה) |
| analogue data/ˈænəlɒɡ ˈdeɪtə/ | נתונים אנלוגיים |
| digital data/ˈdɪdʒɪtl ˈdeɪtə/ | נתונים דיגיטליים |
1.2
קול
גל רציף של נתונים אנלוגיים (הקול) מומר לנתונים דיגיטליים באמצעות דגימה:
- קצב דגימה — דגימות לשנייה (Hz). איכות CD היא $44.1\ \text{kHz}$.
- רזולוציית דגימה (עומק ביט) — ביטים לדגימה של משרעת. איכות CD היא 16 ביט.

גודל קובץ
קליפ CD סטריאו של 10 שניות: $44100 \times 16 \times 10 \times 2 = 14\,112\,000$ ביט $\approx 1.68\ \text{MiB}$.
שינוי הגדרות
- קצב דגימה גבוה יותר → תפיסת צלילים גבוהים יותר, קובץ גדול יותר.
- רזולוציית דגימה גבוהה יותר → שלבי משרעת עדינים יותר, רעש כיוונון פחות, קובץ גדול יותר.
- נמוך יותר של אחד מהם → קובץ קטן יותר, אובדן איכות ברורה.
(קצב הדגימה חייב להיות לפחות פי שניים התדר הגבוה ביותר שתרצה לשמור.)

דגימת צליל
y = a sin(bt + c)
דגימה מדידה של גל צליל במרווחים קבועים — קצב גבוה יותר משחזר אותו בצורה מדויקת יותר.
| English | עברית |
|---|---|
| sampling/ˈsæmplɪŋ/ | דגימה/הדמייה |
| sampling rate/ˈsæmplɪŋ reɪt/ | קצב דגימה |
| sampling resolution/ˈsæmplɪŋ ˌrezəˈluːʃn/ | רזולוציית דגימה |
| amplitude/ˈæmplɪtjuːd/ | משרעת |
| sample resolution/ˈsæmpl ˌrezəˈluːʃn/ | רזולוציית דגימה |
| quantisation/ˌkwɒntaɪˈzeɪʃn/ | כמותיזציה |
| bandwidth/ˈbændwɪdθ/ | רוחב פס |
| lossless/ˈlɒsləs/ | ללא אובדן |
| lossy/ˈlɒsi/ | עם אובדן |
| run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ | הקידוד באורך רצף |
| dictionary methods/ˈdɪkʃənəri ˈmeθədz/ | שיטות מילון |
1.3
דחיסה
סיילבוס
| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| להראות הבנה לצורך ולדוגמאות לשימוש ב-דחיסה | |
| להראות הבנה של דחיסה עם איבוד נתונים ודחיסה ללא איבוד נתונים ולהסביר את השימוש בשיטה נתונה במצב מסוים | |
| להראות הבנה כיצד ניתן לדחס קובץ טקסט, תמונת ביטמאפ, גרפי וקטור וקובעי שמע | כולל שימוש ב-היקוד אורך-רוצות (RLE) |
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
דחיסה מקטינה את גודל הקובץ, וחוסכת מקום אחסון ורוחב פס להעברה. שני סוגים:
- ללא איבוד נתונים — הנתונים המקוריים מושבים בדיוק (טקסט, תוכנות, ZIP/PNG).
- עם איבוד נתונים — חלק מהפרטים מוותר עליהם למען קבצים קטנים משמעותית (JPEG, MP3, וידאו).
מתי להשתמש בכל אחד
- ללא איבוד נתונים למסמכים, קוד מקור ותמונות רפואיות — לכל דבר הדורש נתונים מדויקים.
- עם איבוד נתונים למדיה בזרימה. זרימת וידאו בזמן אמת משתמשת בדחיסה עם איבוד נתונים מכיוון שהיא צריכה לשלוח כמויות ענק של נתונים בזמן אמת על רוחב פס מוגבל; דחיסה ללא איבוד נתונים לא תקטין אותה מספיק. וידאו HD טהור הוא ג'יגה-בייטים לדקה, ולכן בלי דחיסה התמונה הייתה נשארת נתקעת.
תשובה "הצדקה" מציינת את השיטה, ולאחר מכן את הסיבה מהמצב: "ללא איבוד נתונים, כי הטבלית חייבת לשוחזר בדיוק; שינוי בערך יחיד יהפוך את החשבונות לאנכודיים." או: "עם איבוד נתונים, כי התמונות נצפות על מסך טלפון שבו הפרטים המוותרים עליהם אינם נראים, והקבצים הקטנים מעלים מהר יותר וחוסכים מקום אחסון."
שיטות ללא איבוד נתונים
- הכנסת אורך (RLE): לאחסן "ה$n$ הערכים הבאים הם $x$" במקום לחזור על $x$. מצוין לאזורים שטוחים; חסר תועלת לנתונים רועשים.
- שיטות מילון (ZIP, PNG): להחליף רצפי ביטים חוזרים בהפניה קצרה. מתאימות לטקסט ולקוד.
- קוד הופמן: לתת קודים קצרים לסמלים נפוצים וקודים ארוכים לסמלים נדירים, ולהקריב את אורך הקוד הממוצע לאנטרופיה של הנתונים.
כיצד כל סוג של קובץ נדחס:
- קובץ טקסט: שיטות מילון וקוד הופמן הופכים מילים חוזרות ואותיות נפוצות לקודים קצרים. טקסט חייב להישאר ללא איבוד נתונים, מכיוון ששינוי באות יחיד משנה את המשמעות.
- תמונת ביטמאפ: RLE לרצפים של פיקסלים זהים (אייקונים, דיאגרמות, סריקות בשחור-לבן); JPEG עם איבוד נתונים לצילומים, או עומק צבע או רזולוציה נמוכים יותר.
- גרפיקה וקטורית: רשימת השרטוט כבר קטנה; להסיר אובייקטי שרטוט שאינם נדרשים, לאחסן קואורדינטות במספר פחותות של מקומות עשרוניים, או להפעיל שיטה ללא איבוד נתונים כגון ZIP על הקובץ.
- קובץ שמע: MP3 או AAC עם איבוד נתונים מסירים מה שהאוזן לא יכולה לשמוע; קצב דגימה או רזולוציה נמוכים יותר הם גם עם איבוד נתונים; פורמטים ללא איבוד נתונים שומרים על כל דגימה ומקטינים את הקובץ פחות הרבה.




שיטות עם איבוד נתונים
- תמונות (JPEG): מוותרות על פרטים עדינים והבדלי צבע שהעין כמעט לא מבחינה בהם.
- שמע (MP3, AAC): מוותרות על גוונים שאנו שומעים פחות היטב, ועל קולות שקטים המוסתרים על ידי קולות חזקים יותר.
- וידאו משלב דחיסה מרחבית (בתוך כל מסגרת, כמו JPEG) עם דחיסה זמנית (ברוב המסגרות נשמרים רק ההבדלים מהמסגרת הקודמת).

אנכוד רצפים
צפה ברצף סימולים חוזרים שמתכווץ לספירה – דחיסה ללא איבוד נתונים פשוטה.
| English | עברית |
|---|---|
| compression/kəmˈpreʃn/ | דחיסה |
| frame rate/freɪm reɪt/ | קצב מסגרות |
| Huffman coding/ˈhʌfmən ˈkəʊdɪŋ/ | הידעות הופמן |
| entropy/ˈentrəpi/ | אנטרופיה |
| spatial/ˈspeɪʃl/ | מרחבי |
| temporal/ˈtempərəl/ | זמני |
1.3
הגדרות מקובלות בקורס
שאלת הגדרה מוקדמת לפי טקסט קבוע. לימודן במדויק, ותן תשובה אחת בלבד.
| מונח | הגדרה |
|---|---|
| bit | דיגיט בינארי יחיד, 0 או 1 |
| byte | קבוצה של 8 ביטים |
| קדמת בינארית | מכפיל שהוא חזקה של 2 (kibi = 1024) ולא חזקה של 10 (kilo = 1000) |
| שנייה משלימה | שיטה להצגת מספרים שלמים עם סימן שבה הפרמטר המשמעותי ביותר הוא בעל ערך מקום שלילי |
| גלישה | תוצאת חישוב גדולה מדי כדי להיות מיוצגת בתוך מספר הביטים הזמינים |
| קידוד עשרוני בינארי | כל ספרה עשרונית מאוחסנת כדפוס בינארי בן 4 ביטים משלה |
| מערך תווים | סט התווים שחשבון יכול לייצג, כאשר לכל תווה יש קוד בינארי משלו |
| פיקסל | האלמנט הקטן ביותר בתמונה רשתתית (bitmap), המאחסן ערך צבע אחד |
| רזולוציית תמונה | מספר הפיקסלים בתמונה, הנתון כרוחב בהתאמה לגובה |
| רזולוציית מסך | מספר הפיקסלים שהתצוגה יכולה להציג, הנתון כרוחב בהתאמה לגובה |
| עומק צבע | מספר הביטים המשמשים לאחסון הצבע של פיקסל אחד |
| קצב דגימה | מספר הדגימות מהצליל שנלקחות בשנייה |
| רזולוציית דגימה | מספר הביטים המשמשים לאחסון העוצמה של דגימה אחת |
| דחיסה ללא איבוד נתונים | דחיסה שממנה ניתן לשחזר את הנתונים המקוריים במדויק |
| דחיסה עם איבוד נתונים | דחיסה המסירה בצורה קבועה חלק מנתוני המקור, כך שלא ניתן לשחזרם |
| קידוד אורך-רצף | החלפת רצף של ערכים חוזרים בערך אחד ובספירת החזרות |
| English | עברית |
|---|---|
| byte/baɪt/ | בייט |
1.3
טיפים לבחינות
- להראות את הדרך בחילופי בסיסים: עשרוני לבינארי לפי ערכי מקום, בינארי להקסדצימלי ב-חצאי字节 (קבוצות של 4 ביטים).
- עבור משלים לשניים, הביט הגבוה ביותר הוא השלילי; כדי להופך סימן, הפיכו ואתרו 1; שימו לב לעדיפת טווח כאשר ביט הסימן מתהפך באופן שגוי.
- הבדל בין BMP (פיקסלים; גודל קובץ = רוחב $=$ × גובה $\times$ × עומק צבע $\times$) לבין ווקטורי (הוראות ציור; סקאלה ללא איבוד איכות).
- גודל קובץ צליל תלוי בקצב דגימה $\times$ עומק ביטים $\times$ זמן — יותר מכל אחד מהם אומר איכות טובה יותר אך קובץ גדול יותר.
- להשוות בין דחיסה ללא איבוד לעם איבוד ולתת שימוש עבור כל אחד מהם.
טעויות נפוצות
- הסבר על עדיפת טווח באמצעות "התוצאה הייתה גדולה מ-255" או "יש 9 ביטים". ציינו את רוחב המילה שהשאלה נתנה, ולאחר מכן אמרו שהתוצאה אינה ניתנת לייצוג בתוך זה.
- יצירת מספר שלילי על ידי הגדרת הביט העליון ל-1 והשארת שאר הביטים (סימן וגודל). משלים לשניים אומר להפוך כל ביט של הערך החיובי, ולאחר מכן להוסיף 1.
- לשכוח למרווח מספר מומרה לרוחב הרשמה שהשאלה מבקשת.
- שילוב ביטים ובייטים בחישוב גודל קובץ. עבדו בביטים, חלקו ב-8 פעם אחת, וציינו האם השתמשתם ב-1000 או ב-1024.
- מענה לשאלה "תאר" בשפה פשוטה ("התמונה הופכת לגרועה יותר"). השתמשו במונחי הסיילבוס: צבעים פחותים, רצועות (banding), רזולוציית תמונה נמוכה יותר, פיקסלים גדולים יותר.
שיעורים אינטראקטיביים בנושא זה
לעבור על הדברים צעד אחר צעד, עם תרגילים לבדיקה מיידית.