Menu
Coddy logo textTech

מה זה בייט (Byte)?

בייט (byte) הוא יחידת מידע דיגיטלי שמורכבת מ-8 ביטים, שיחד יכולים לייצג 256 ערכים שונים, מ-0 עד 255. ברוב המחשבים זו יחידת הזיכרון הקטנה ביותר שיש לה כתובת משלה, וגודל קבצים נספר בבייטים.

מאת Kevin Spektor, מייסד שותף ו-CTO

עודכן ב-24 בספטמבר 2026

128
64
32
16
8
4
2
1
עשרוני65
Hex41
תו ASCIIA
  • 48H
  • 69i
  • 20␣
  • F0 9F 98 80😀

4 תווים, 7 בייטים

האות A, כשהיא שמורה במחשב, היא המספר 65, והמספר 65 נשמר כשמונה ביטים: 01000001. הקבוצה הזו של שמונה היא בייט. כתובות זיכרון סופרות בייטים, גודל קבצים נספר בבייטים, וכמעט כל טיפוס נתונים בשפת תכנות תופס מספר שלם של בייטים.

למה בייט הוא 8 ביטים

את המילה "byte" טבע ורנר בוכהולץ (Werner Buchholz) ב-1956, כשעבד על מחשב Stretch של IBM. הוא כתב אותה עם y כדי שלא יקראו אותה בטעות "bit". מחשבים מוקדמים השתמשו בקבוצות בגדלים שונים, לרוב 6 ביטים, מה שהספיק לאותיות גדולות ולספרות אבל לא לאותיות קטנות.

System/360 של IBM, שיצא ב-1964, השתמש בבייטים של 8 ביטים, ושאר התעשייה הלכה בעקבותיו. שמונה ביטים נותנים 256 ערכים, מקום לאותיות גדולות וקטנות, לספרות, לסימני פיסוק ולקודי בקרה. שמונה היא גם חזקה של 2, כך שבייט מתחלק בדיוק לשני חצאים של 4 ביטים, וכל חצי נכתב כספרה הקסדצימלית אחת. תקני תקשורת עדיין אומרים "octet" כשהם צריכים לציין במדויק שמדובר בדיוק ב-8 ביטים.

מה בייט אחד יכול להחזיק

לבייט יש 256 תבניות אפשריות, מ-00000000 עד 11111111. תוכניות קוראות אותן בכמה דרכים סטנדרטיות:

  • כמספר ללא סימן מ-0 עד 255;
  • כמספר עם סימן ממינוס 128 עד 127;
  • כתו אחד, כמו A (65) או ! (33);
  • כשתי ספרות הקסדצימליות, מ-00 עד FF.

הטיפוס bytes של Python הוא רצף של ערכים כאלה, והוא מסרב לכל דבר מחוץ לטווח 0 עד 255:

b'Hi!'
[72, 105, 33]
01001000 48
ValueError: bytes must be in range(0, 256)

לא כל תו נכנס בבייט אחד. UTF-8, הקידוד שרוב הרשת משתמשת בו, שומר את 128 תווי ה-ASCII בבייט אחד כל אחד, וכל תו אחר ב-2 עד 4 בייטים:

A 1 bytes: [65] 41
é 2 bytes: [195, 169] c3a9
€ 3 bytes: [226, 130, 172] e282ac
😀 4 bytes: [240, 159, 152, 128] f09f9880

בגלל זה האורך של מחרוזת בתווים והגודל שלה בבייטים יכולים להיות שונים. גם אותיות עבריות תופסות 2 בייטים כל אחת ב-UTF-8.

ביט מול בייט

ביט הוא 0 או 1 בודד. בייט הוא 8 ביטים. קל לבלבל בין שתי היחידות, כי הסמלים שלהן נבדלים רק באות גדולה או קטנה:

ביטבייט
מה זהספרה בינארית אחת8 ביטים
ערכים אפשריים2 (0 או 1)256 (0 עד 255)
סמלb (אות קטנה)B (אות גדולה)
בדרך כלל מודדמהירות רשת: Mbps, Gbpsאחסון וגודל קבצים: KB, MB, GB
דוגמהחיבור של 100 Mbpsתמונה של 5 MB

כדי להפוך ביטים לבייטים, מחלקים ב-8. חיבור של 100 Mbps מעביר לכל היותר 12.5 MB בשנייה, כך שהורדה של תמונה של 5 MB דרכו לוקחת לפחות 0.4 שניות.

קילובייט, מגה בייט וג'יגה בייט

יחידות גדולות יותר קיימות בשתי שיטות, והפער ביניהן הוא הסיבה שכונן חדש נראה ב-Windows קטן יותר ממה שכתוב על התווית.

עשרוני (SI)בייטיםבינארי (IEC)בייטים
קילובייט (kB)1,000קיביבייט (KiB)1,024
מגה בייט (MB)1,000,000מביבייט (MiB)1,048,576
ג'יגה בייט (GB)1,000,000,000גיביבייט (GiB)1,073,741,824
טרה בייט (TB)1,000,000,000,000טביבייט (TiB)1,099,511,627,776

יצרני כוננים, מהירויות רשת ו-macOS (מאז גרסה 10.6 ב-2009) משתמשים ביחידות העשרוניות. גודל ה-RAM ו-Windows משתמשים ביחידות הבינאריות, אבל Windows מסמנת אותן KB, MB ו-GB. ארגון ה-IEC הציג ב-1998 את השמות קיביבייט, מביבייט וגיביבייט כדי לסיים את הבלבול, אבל תוכנות רבות עדיין לא משתמשות בהם.

1.0 TB (decimal, used on the box)
931.3 GiB (binary, what Windows calls GB)
12.5 MB per second

שום מקום לא חסר. הכונן מחזיק את טריליון הבייטים שהקופסה מבטיחה; Windows פשוט מחלקת ב-1,024 שלוש פעמים במקום ב-1,000.

בייטים בקוד

כל ערך בזיכרון תופס מספר שלם של בייטים. ב-C, sizeof מחזיר את המספר הזה. char הוא בדיוק בייט אחד לפי ההגדרה, ובמערכות Linux, macOS ו-Windows של 64 ביט היום, short הוא 2 בייטים, int הוא 4 ו-double הוא 8. מערך של 1,000 ערכי int תופס לכן 4,000 בייטים.

printf("%zu\n", sizeof(int));   /* prints 4 */

הטיפוס byte של Java הוא תמיד עם סימן, ממינוס 128 עד 127, כך שערך כמו 200 לא נכנס בו:

byte b = (byte) 200;   // b is -56: the same 8 bits, read as signed

נתונים גולמיים כמו תמונות, קבצים דחוסים ומנות רשת מטופלים כמערך של בייטים: bytes ו-bytearray ב-Python, byte[] ב-Java, Uint8Array ב-JavaScript. פתיחת קובץ ב-Python במצב "rb" נותנת את הבייטים שלו במקום טקסט.

גם גיבובים (hashes) וchecksums נמדדים בבייטים. תקציר SHA-256 הוא 32 בייטים, ולכן הוא מודפס כ-64 תווים הקסדצימליים, ו-checksum מסוג CRC32 הוא 4 בייטים. מחולל הגיבובים מציג את שניהם לכל טקסט.

לאן ממשיכים מכאן

כדי להכיר את היחידה שמתחת לבייט, קראו מה זה ביט, וכדי לראות איך בייטים משמשים לזיהוי קבצים פגומים, מה זה checksum. ממיר בסיסי הספירה מעביר כל בייט בין עשרוני, בינארי והקסדצימלי, והמדריך לטיפוסי נתונים ב-C מפרט את הגודל בבייטים של כל טיפוס ב-C.

שאלות נפוצות

איך נקראים 8 הביטים 11111111?
שמונה ביטים הם בייט אחד, ו-11111111 הוא בייט שכל הביטים בו הם 1. כשקוראים אותו כמספר ללא סימן הוא 255, הערך הגדול ביותר שבייט יכול להחזיק, ונכתב FF בהקסדצימלי. כשקוראים אותו כבייט עם סימן בשיטת המשלים ל-2, אותם ביטים פירושם מינוס 1.
למה 8 ביטים שווים לבייט אחד?
שמונה היא מוסכמה שניצחה, לא חוק טבע. System/360 של IBM, שיצא ב-1964, השתמש בבייטים של 8 ביטים, וכמעט כל מחשב מאז הלך בעקבותיו. שמונה ביטים נותנים 256 ערכים, מספיק לאותיות גדולות וקטנות, לספרות ולסימנים, ו-8 היא חזקה של 2, מה ששומר על החומרה והחישובים פשוטים.
למה 4 ביטים נקראים nibble?
ניבל (nibble) הוא חצי בייט, והשם הוא משחק מילים באנגלית: byte נשמע כמו bite, נגיסה, ו-nibble היא נגיסה קטנה. ארבעה ביטים נותנים 16 ערכים, בדיוק ספרה הקסדצימלית אחת, ולכן בייט תמיד נכתב כשתי ספרות הקסדצימליות, אחת לכל ניבל. לפעמים המילה נכתבת nybble.
האם בייט אחד הוא 4 ביטים?
לא. בייט אחד הוא 8 ביטים. ארבעה ביטים הם חצי בייט, שנקרא ניבל (nibble).
מה גדול יותר, בייטים או GB?
ג'יגה בייט גדול בהרבה: הוא מיליארד בייטים (1,000,000,000) בשיטה העשרונית שיצרני כוננים משתמשים בה, או 1,073,741,824 בייטים בשיטה הבינארית ש-Windows משתמשת בה. הבייט הוא יחידת הבסיס, וקילובייט, מגה בייט וג'יגה בייט הם כפולות שלו.
איך נראה בייט אחד?
בייט אחד הוא שורה של שמונה אפסים ואחדות, כמו 01000001. התבנית הזו היא המספר 65, שהוא גם הקוד של האות A ב-ASCII. מתכנתים בדרך כלל כותבים בייט כשתי ספרות הקסדצימליות, כך ש-01000001 הופך ל-41.
איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל