מספר שלם

[[דיאגרמת ון של מערכות מספרים ידועות, המספרים השלמים מסומנים בכתום]]

מספר שלם הוא מספר ללא מרכיב של שבר. לדוגמה, <math>3, 7, -15</math> ו-<math>-32</math> הם מספרים שלמים, אך <math>\sqrt 5, 3.28, -19.2</math> ו-<math>-0.94</math> אינם מספרים שלמים.

קבוצת המספרים השלמים מורכבת מהמספר אפס, המספרים הטבעיים (<math>1,2,3,\dots</math>) והמספרים הנגדיים להם (המספרים השליליים <math>-1, -2, -3,\dots</math>) ומסומנת בדרך כלל ב-<math>\mathbb {Z}</math>. בדומה למספרים הטבעיים, קבוצת המספרים השלמים היא אינסופית בת מנייה.

קבוצת המספרים השלמים <math>\mathbb {Z}</math> מהווה תת-קבוצה של קבוצת המספרים הרציונליים <math>\mathbb {Q}</math> שמהווה בעצמה תת-קבוצה של קבוצת המספרים הממשיים <math>\mathbb {R}</math> שהיא תת-קבוצה של קבוצת המספרים המרוכבים <math>\mathbb {C}</math>.

המספרים השלמים, עם פעולות החיבור והכפל, מהווים את חוג המספרים השלמים. מבחינות רבות, המושג חוג הוא הפשטה אלגברית של המספרים השלמים.

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

== סימון ==
הסימון המקובל לקבוצת המספרים השלמים
קבוצת המספרים השלמים מסומנת בדרך כלל ב-<math>\mathbb {Z}</math> או ב-<math>\bold Z</math> (האות Z מגיעה מהמילה הגרמנית zahlen שמשמעותה "מספרים"), ולפעמים מסומנת ב-<math>\mathbb {I}</math>.

תת-קבוצות מסוימות של <math>\mathbb {Z}</math> מסומנות בסימון מיוחד:
* קבוצת השלמים החיוביים מסומנת באחד מן הסימונים האלו: <math>\mathbb {Z}^{>}, \mathbb {Z}^{+}, \mathbb {Z}_{+}</math>.
* קבוצת השלמים האי-שליליים מסומנת ב-<math>\mathbb {Z}^{0+}</math>, ב-<math>\mathbb {Z}^{\geq}</math>, ויש המשתמשים בסימון <math>\mathbb {Z}^{*}</math>.
* קבוצת השלמים השליליים מסומנת ב-<math>\mathbb {Z}^{-}</math>.

לעיתים משתמשים בסימון <math>\mathbb {Z}^{\neq}</math> או בסימון <math>\mathbb {Z}^{*}</math> כדי לסמן את קבוצת השלמים שאינם אפס.

בנוסף, חוג השלמים ה-p-אדיים מסומן ב-<math>\mathbb{Z}_p</math> וחבורה ציקלית מסדר <math>n</math> מיוצגת על ידי הסימון <math>\mathbb{Z}_n</math>.

==פעולות חשבון בסיסיות במספרים שלמים==
חיבור של שני מספרים חיוביים נותן תוצאה חיובית, חיבור של שני מספרים שליליים נותן תוצאה שלילית, הסימן של תוצאת החיבור של מספר חיובי ומספר שלילי נקבעת לפי הסימן של המספר עם הערך המוחלט הגדול מבניהם

===חיבור וחיסור===

ניתן להרחיב את פעולת החיבור במספרים טבעיים למספרים שלמים באופן הבא:
*חיבור של שני מספרים חיוביים שווה לפעולת החיבור הרגילה במספרים טבעיים.
*חיבור של שני מספרים שליליים שווה לנגדי של חיבור הערכים המוחלטים של המספרים, <math>(-a)+(-b)=-(a+b)</math>.
*חיבור של מספר חיובי ומספר שלילי שווה להפרש בין הערכים המוחלטים של המספרים וסימנו שווה לסימן המספר שהערך המוחלט שלו הוא הגדול מבין השניים, <math>a+(-b)=a-b</math> כאשר <math>a>b</math>, ו-<math>a+(-b)=-(b+(-a))=-(b-a)</math> כאשר <math>a<b</math>.
פעולת החיבור סגורה בתוך המספרים השלמים, כלומר חיבור של שני מספרים שלמים הוא גם מספר שלם. ניתן להגדיר את הפעולה של חיסור מספר <math>a</math> כחיבור של המספר הנגדי לו <math>-a</math>. בשונה מהמספרים הטבעיים, פעולת החיסור סגורה אף היא במספרים השלמים, כלומר חיסור של שני מספרים שלמים הוא מספר שלם.

הטבלה הבאה מציגה את התכונות הבסיסיות של חיבור:
{| class="wikitable"
! תכונה !! !! דוגמה
|-
| סגירות || <math>a+b</math> הוא מספר שלם ||
|-
| חילופיות || <math>a+b=b+a</math> || <math>10=7+3=3+7=10</math>
|-
| אסוציאטיביות || <math>(a+b) +c = a+ (b+c)</math> || <math>1=2+(4+(-5))=(2+4)+(-5)=1</math>
|-
| קיום איבר יחידה || <math>a+0=a</math> || <math>1+0=1</math>
|-
| קיום איבר הופכי || <math>a+(-a)=0</math> || <math>2+(-2)=0</math>
|}
===כפל וחילוק===
חיבור, חיסור וכפל של מספרים שלמים באמצעות [[בדידים]]

פעולת הכפל במספרים טבעיים היא למעשה פעולת חיבור חוזרת: 2 כפול 3 הוא הסכום <math>2 + 2 + 2 = 6</math>. הרחבה של פעולת הכפל למספרים שלמים מתבצעת כך:
*כפל מספר חיובי במספר חיובי היא פעולת הכפל הרגילה במספרים טבעיים.
*כפל מספר שלילי במספר שלילי הוא מספר חיובי ששווה למכפלת הערכים המוחלטים של המספרים <math>(-a) \times (-b) = a \times b</math> (כלומר משמיטים את סימן המינוס).
*כפל מספר חיובי במספר שלילי הוא הנגדי של מכפלת הערכים המוחלטים של המספרים <math>a \times (-b) = (-a) \times b = -(a \times b)</math> (כלומר אפשר להוציא את סימן המינוס מחוץ למכפלה).
הטבלה הבאה מציגה את התכונות הבסיסיות של הכפל:
{| class="wikitable"
! תכונה !! !! דוגמה
|-
| סגירות || <math>a\times b</math> הוא מספר שלם ||
|-
| חילופיות || <math>a\times b=b\times a</math> || <math>21=7\times 3=3\times 7=21</math>
|-
| אסוציאטיביות || <math>(a\times b) \times c = a\times (b\times c)</math> || <math>-40=2\times (4\times (-5))=(2\times 4)\times (-5)=-40</math>
|-
| קיום איבר יחידה || <math>a\times 1=a</math> || <math>2\times 1=2</math>
|-
| חוק הפילוג || <math>a \times (b + c) = (a \times b) + (a \times c)</math> || <math>6=2\times ((-2)+5)=(2\times(-2))+(2\times 5)=6</math>
|-
| ללא מחלקי אפס || אם <math>a \times b = 0</math> אז <math>a=0</math> או <math>b=0</math> (או שניהם) ||
|}
במספרים שלמים, <math>b</math> מחלק את <math>c</math> אם קיים מספר טבעי <math>a</math> כך שמתקיים <math>a \times b = c</math>. למשל, 6 מחלק את 18 משום ש-<math>3\times 6=18</math>. כדי לציין ש-<math>b</math> מחלק את <math>c</math> משתמשים בסימון <math>b | c</math>, וכדי לציין ש-<math>b</math> לא מחלק את <math>c</math> משתמשים בסימון <math>b \nmid c</math>. פעולת החילוק אינה סגורה בקבוצת המספרים השלמים, משום שחילוק של 10 ב-3, למשל, נותן תוצאה שאינה מספר שלם.
===חזקה===

בפעולת החזקה בצורתה הבסיסית, המעריך הוא מספר טבעי והיא מהווה קיצור של פעולת הכפל. כלומר - <math>a</math> בחזקת <math>b</math> היא המכפלה של <math>b</math> גורמים השווים כולם לבסיס <math>a</math>: <math>a^b = \underbrace{a \times \cdots \times a}_b</math>. כדי להרחיב את פעולת החזקה למספרים שלמים יש לשמור על חוקי החזקות הבסיסיים ובפרט:
:<math>\ a^0=a^{n-n}=\frac{a^n}{a^n}=1</math>
וכן:
:<math>\ a^{-n}=a^{0-n}=\frac{a^0}{a^n}=\frac{1}{a^n}</math>
לכן נוח להגדיר חזקת אפס כשווה ל-1 תמיד (ראו מכפלה ריקה) וחזקה שלילית בתור ההופכי לחזקה החיובית הנגדית. יוצא מן הכלל הוא הביטוי אפס בחזקת אפס שלרוב אינו מוגדר, או מוגדר כשווה ל-1. בנוסף, חזקות שליליות של 0 אינן מוגדרות, כי לא ניתן לחלק באפס. אולם, בשונה מהמספרים הטבעיים, המספרים השלמים אינם סגורים תחת פעולת החזקה (כיוון שתוצאת החזקה יכולה להיות שבר כאשר המעריך הוא מספר שלילי).

== תכונות אלגבריות ==
חיבור של מספרים שלמים על ציר המספרים

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

המספרים השלמים אינם סגורים תחת פעולת החילוק שכן רק ל-<math>1</math> ו-<math>-1</math> קיים מספר הופכי שלם ביחס לכפל והמספרים ההופכיים של שאר המספרים השלמים הם שברים (חוץ מאפס שלו לא קיים מספר הופכי ביחס לכפל).

הטבלה הבאה מסכמת את התכונות של פעולות החיבור והכפל במספרים שלמים:
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
! !! חיבור !! כפל
|-
!scope="row"| סגירות
| <math>a+b</math> הוא מספר שלם
| <math>a \times b</math> הוא מספר שלם
|-
!scope="row"| אסוציאטיביות
| <math>a+(b+c)=(a+b)+c</math>
| <math>a \times (b \times c)=(a \times b) \times c</math>
|-
!scope="row"| חילופיות
| <math>a+b=b+a</math>
| <math>a \times b = b \times a</math>
|-
!scope="row"| קיום איבר יחידה
| <math>a+0=a</math>
| <math>a \times 1 = a</math>
|-
!scope="row"| קיום איבר הופכי
| <math>a+(-a)=0</math>
| האיברים ההפיכים היחידים הם <math>1</math> ו-<math>-1</math>
|-
!scope="row"| חוק הפילוג
|colspan=2 align=center |<math>a \times (b + c) = (a \times b) + (a \times c)</math> וגם <math>(a + b) \times c = (a \times c) + (b \times c)</math>
|-
!scope="row"| ללא מחלקי אפס
|
| אם <math>a \times b = 0</math> אז <math>a=0</math> או <math>b=0</math> (או שניהם)
|}
במונחים של אלגברה מופשטת ניתן לומר שקבוצת המספרים השלמים <math>\mathbb{Z}</math> יחד עם פעולת החיבור מהווים חבורה אבלית ציקלית, כיוון שכל מספר שונה מאפס ניתן לכתוב כסכום <math>1+1+1+ \dots</math> או כ-<math>-1-1-1- \dots</math>. למעשה, קבוצת המספרים השלמים מהווה את החבורה הציקלית האינסופית היחידה – כל חבורה ציקלית אינסופית איזומורפית אליה.

מארבע התכונות הראשונות בטבלה למעלה נקבל שקבוצת המספרים השלמים <math>\mathbb{Z}</math> עם פעולת הכפל מהווה מונואיד חילופי (אבלי), וכיוון שלא לכל מספר שלם קיים מספר הופכי שלם נקבל שהמספרים השלמים תחת פעולת הכפל אינם חבורה.

מצירוף כל התכונות שצוינו בטבלה (מלבד התכונה האחרונה) נקבל שקבוצת המספרים השלמים <math>\mathbb{Z}</math> תחת פעולות החיבור והכפל מהווה חוג חילופי עם איבר יחידה – חוג המספרים השלמים. מבחינות רבות, המושג חוג הוא הפשטה אלגברית של המספרים השלמים.

מהתכונה שלא קיימים מחלקי אפס נקבל שחוג המספרים השלמים <math>\mathbb{Z}</math> הוא תחום שלמות. ומכך שלא קיימים איברים הפיכים ביחס לכפל – המספרים השלמים לא סגורים תחת חילוק, נקבל שחוג המספרים השלמים איננו שדה. השדה הקטן ביותר שמכיל את המספרים השלמים כתת-חוג הוא שדה המספרים הרציונליים. תהליך הבנייה של שדה המספרים הרציונליים מתוך חוג המספרים השלמים ניתן לחיקוי לכל תחום שלמות כדי ליצור את שדה השברים שלו. ובכיוון ההפוך, משדה מספרים <math>K</math> ניתן לקבל את חוג השלמים של השדה <math>\ {\mathcal O}_K</math>, שיחסו ל-<math>K</math> דומה לזה שבין חוג המספרים השלמים <math>\mathbb{Z}</math> לשדה המספרים הרציונליים <math>\mathbb{Q}</math> (ואמנם <math>(\mathcal{O})_{\mathbb{Q}} = \mathbb{Z}</math>).

אף על פי שהמספרים השלמים אינם סגורים תחת חילוק, ניתן לבצע בהם חלוקה עם שארית. כלומר, לכל <math>a \in \mathbb {Z}</math> ולכל <math>0\neq b \in \mathbb {Z}</math>, קיימים <math>q, r \in \mathbb {Z}</math> כך ש-<math>a=q\times b+r</math> ו-<math>0 \le r < |b|</math> (כאשר <math>|b|</math> היא פונקציית הערך המוחלט). ולכן חוג המספרים השלמים <math>\mathbb{Z}</math> הוא חוג אוקלידי, וכיוון שכל חוג אוקלידי הוא תחום ראשי נובע שגם קבוצת המספרים השלמים מהווה חוג שכזה, ומכיוון שכל תחום ראשי הוא תחום פריקות יחידה נקבל שלכל מספר שלם קיים פירוק יחיד לגורמים שלמים אי-פריקים (במספרים השלמים הגדרת האי-פריקות והגדרת הראשוניות מתלכדות ולכן ניתן גם לומר שלכל מספר קיים פירוק יחיד לגורמים ראשוניים).

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

הנקודות האדומות הן זוגות סדורים של מספרים טבעיים, הנקודות המחוברות מהוות את מחלקות השקילות שמייצגות את המספרים בכחול בקצה הקו
לאחר שנבנתה המערכת של המספרים הטבעיים עם פעולות החיבור והכפל שלהם, אפשר לחשוב על מספר שלם כאילו היה הפרש של שני מספרים טבעיים. באופן פורמלי יותר, מגדירים יחס שקילות על קבוצת הזוגות הסדורים <math>\mathbb{N}\times \mathbb{N}</math>, כך: <math>(a,b)\sim (c,d)</math> אם ורק אם <math>a+d=b+c</math>. באופן לא פורמלי מחלקת השקילות של הזוג <math>(a,b)</math>, אותה מסמנים ב-<math>[(a,b)]</math>, תייצג את ההפרש <math>a-b</math> (ובכל מחלקה נמצאים כל הזוגות שההפרש ביניהם שווה).

נראה כי זהו באמת יחס שקילות:
*רפלקסיביות: <math>a+b=b+a</math> (כי חיבור במספרים טבעיים הוא חילופי ולכן <math>(a,b)\sim(a,b)</math>).
*סימטריות: אם <math>a+d=b+c</math> אז <math>b+c=a+d</math> (כי שוויון הוא סימטרי) ולכן אם <math>(a,b)\sim(c,d)</math> אז <math>(c,d)\sim (a,b)</math>.
*טרנזיטיביות: נניח כי <math>(a,b)\sim(c,d), (c,d)\sim(e,f)</math> אז <math>a+d=b+c, c+f=d+e</math>. נחבר את השוויונות ונקבל <math>a+d+c+f=b+c+d+e</math>. נצמצם איברים זהים משני אגפי המשוואה, ונקבל <math>a+f=b+e</math>, כלומר <math>(a,b)\sim(e,f)</math>.

כעת נגדיר את קבוצת המספרים השלמים <math>\mathbb{Z}</math> בתור קבוצת המנה של יחס השקילות. כלומר: כל מספר שלם הוא אוסף הזוגות הסדורים שמקיימים <math>(a,b)\sim (c,d)</math> זה עם זה.

על קבוצה זו נגדיר פעולות של כפל וחיבור, תוך הסתמכות על הגדרתם בקבוצת המספרים הטבעיים:

:<math>[(a,b)]+[(c,d)]=[(a+c,b+d)]</math>
:<math>[(a,b)]\times [(c,d)]=[(ac+bd,ad+bc)]</math>.

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

כל מחלקת שקילות מכילה איבר מהצורה <math>(n,0)</math> או מהצורה <math>(0,n)</math> (כאשר <math>n \in \mathbb{N}</math>), את מחלקת השקילות <math>[(n,0)]</math> נסמן ב-<math>n</math>, ואת מחלקת השקילות <math>[(0,n)]</math> נסמן ב-<math>-n</math>, ואלו יהוו את המספרים השלמים (חוץ מאפס שיוגדר פעם אחת בלבד כ-<math>[(0,0)]</math>, מכיוון ש-<math>-0=0</math>).

וכעת, בשונה מהמספרים הטבעיים, לכל מספר שלם קיים הופכי לחיבור, ההופכי לחיבור של <math>n</math> הוא <math>-n</math> (זאת מכיוון שמתקיים <math>n+(-n)=[(n,0)]+[(0,n)]=[(n,n)]\sim[(0,0)]=0</math>).

וניתן להגדיר חיסור על ידי חיבור של ההופכי לחיבור, כלומר:
<math>a-b=a+(-b)=[(a,0)]+[(0,b)]=[(a,b)]=c</math> (כאשר <math>c</math> הוא הנציג של מחלקת השקילות <math>[(a,b)]</math>), ולכן המספרים השלמים סגורים תחת חיסור בשונה מהמספרים הטבעיים.

==סדר==
ניתן להציג את המספרים השלמים כנקודות על ישר אינסופי, כאן המספרים החיוביים מוצגים בכחול והשליליים באדום
קבוצת המספרים השלמים היא קבוצה סדורה ליניארית ללא חסם מלעיל או מלרע. הסדר של המספרים השלמים נתון על ידי <math>\dots -2<-1<0<1<2<3 \dots</math>, מספר יקרא חיובי אם הוא גדול ממש מאפס ושלילי אם הוא קטן ממש מאפס, אפס הוא המספר היחיד שאינו חיובי ואינו שלילי.

נגדיר את הסדר של המספרים כך שיכבד את פעולות החיבור והכפל כך:
# אם <math>a<b</math> וגם <math>c<d</math> אז <math>a+c<b+d</math>.
# אם <math>a<b</math> וגם <math>0<c</math> אז <math>ac<bc</math>.
מכאן שקבוצת המספרים השלמים עם הסדר שהוגדר לעיל היא שדה סדור.

המספרים השלמים הם החבורה האבלית היחידה הלא טריוויאלית (כלומר חבורה שמכילה לפחות שני איברים) בעלת סדר ליניארי שסדר האיברים החיוביים שלה הוא סדר טוב.

באמצעות הסדר ניתן להגדיר פונקציות חשובות:
* פונקציית הסימן <math>\sgn(x)</math> - מחזירה לכל מספר ממשי ערך המתאים לסימן שלו.
:: <math>\sgn(x) := \begin{cases}
-1 & \quad x < 0 \\
~~\, 0 & \quad x = 0 \\
~~\, 1 & \quad x > 0 \end{cases}</math>
* פונקציית הערך המוחלט <math>\operatorname{abs}(x)</math>, מסומנת גם ב-<math>\left| x \right|</math> - מחזירה לכל מספר את המרחק בינו לבין נקודת האפס על ציר המספרים. כלומר, אם המספר חיובי, הערך המוחלט שלו הוא הערך של המספר עצמו, ואם המספר שלילי ערכו המוחלט יהיה הערך של המספר הנגדי לו. ערכו המוחלט של 0 הוא 0.
::<math>|x| = \operatorname{abs}(x) :=
\begin{cases}
~~\, x & \quad x \ge 0\\
-x & \quad x < 0
\end{cases}</math>
הפונקציות משלימות אחת את השנייה, יחדיו הן מפרקות כל מספר <math>x</math> לשני חלקים <math> x = \sgn(x) \cdot |x|</math>.

==עוצמה==
נראה שקיימת פונקציה חד-חד-ערכית ועל מקבוצת המספרים השלמים לקבוצת המספרים הטבעיים, ולכן קבוצת המספרים השלמים היא בת מנייה, ועוצמתה שווה ל-<math>\aleph_0</math> (אָלֶף אֶפֶס).

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

אם אפס נחשב למספר טבעי, אזי הפונקציה היא:

:<math>\pi : \mathbb{Z} \to \mathbb{N},\quad \pi(x) = \begin{cases} 2|x|, & \mbox{if } x \leq 0\\ 2x-1, & \mbox{if } x > 0 \end{cases} </math>

ואם לא, הפונקציה היא:

:<math>\pi : \mathbb{Z} \to \mathbb{N},\quad \pi(x) = \begin{cases} 2|x|, & \mbox{if } x < 0 \\ 2x+1, & \mbox{if } x \ge 0 \end{cases} </math>

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

===טיפוס סדר===

מכיוון שטיפוס הסדר של קבוצת השלמים החיוביים (המספרים הטבעיים) הוא <math>\omega</math> ומכיוון שקבוצת השלמים השליליים דואלית לקבוצת השלמים החיוביים (אם נתאים לכל מספר חיובי את הנגדי שלו, יחס הסדר מתהפך כלומר אם <math>x \ge y</math> אז <math>-x \le -y</math>) נובע שטיפוס הסדר של קבוצת השלמים השליליים הוא <math>\omega^*</math> (יש המסמנים אותו ב-<math>^*\omega</math>), ולכן טיפוס הסדר של קבוצת המספרים השלמים הוא <math>\omega+\omega^*</math>.

== שימושים ==
מספרים שלמים נמצאים בשימוש נרחב בחקר של אובייקטים שמטבעם אינם ניתנים לחלוקה או שתכונות הבעיה מונעות חלוקה של האובייקטים (לדוגמה, בעיות שעוסקות באנשים, בניינים או ספינות). ניתן להשתמש במספרים שליליים גם בבעיות כאלו - למשל, כאשר מתכננים עסקאות סחר, אפשר לציין מכירות עם מספרים חיוביים ורכישות עם מספרים שליליים. דוגמה נוספת, מספר קוונטי מגנטי בפיזיקה מבדיל בין האורביטלים האפשריים בתוך תת-קליפה אלקטרונית, ומשמש לחישוב הרכיב הזוויתי של וקטור האורביטל במרחב וערכו יכול לנוע במרווחים שלמים בטווח שבין <math>\{-\ell..\ell\}</math> כולל הערך אפס (כאשר <math>m_\ell</math> הוא המספר הקוונטי הזוויתי).

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

== עיגול לשלמים ==

ישנן בעיות מעשיות בהן יש צורך לעגל ערך ממשי למספר שלם, כלומר להחליף אותו במספר השלם קרוב ביותר (בכיוון זה או אחר). ישנן כמה דרכים שבהן ניתן לעגל ערך ממשי למספר שלם:
* <math>\lfloor x \rfloor</math> - פונקציית הערך השלם או פונקציית הרצפה (floor), מחזירה לכל מספר ממשי <math>x</math> את המספר השלם הגדול ביותר שקטן או שווה ל-<math>x</math>, <math>\lfloor x \rfloor:=\max \{k\in\Z \mid k\leq x\}</math> (מעגלת כלפי מטה). לדוגמה <math>\lfloor 3.4 \rfloor = 3</math> ו-<math>\lfloor -2.5 \rfloor = -3</math>.
* <math>\lceil x \rceil</math> - פונקציית התקרה (ceiling), מחזירה לכל מספר ממשי <math>x</math> את המספר השלם הקטן ביותר שגדול או שווה ל-<math>x</math>, <math> \lceil x \rceil=\min \{n\in\mathbb{Z}\mid n\ge x\}</math> (מעגלת כלפי מעלה). לדוגמה <math>\lceil 3.4 \rceil = 4</math> ו-<math>\lceil -2.5 \rceil = -2</math>.
* <math>\operatorname{int}(x)</math> - פונקציית קיטום, מחזירה לכל מספר ממשי <math>x</math> את החלק השלם שלו לאחר קיטום של החלק השברי שלו. מתנהגת כמו פונקציית הרצפה עבור מספרים חיוביים, וכפונקציית התקרה בעבור מספרים שליליים. לדוגמה <math>\operatorname{int}(3.4) = 3</math> ו-<math>\operatorname{int}(-2.5) = -2</math>.
* <math>\operatorname{nint}(x)</math> - פונקציית השלם הקרוב ביותר, לעיתים רחוקות מסומנת גם ב-<math>\lfloor x \rceil</math> או ב-<math>[x]</math> - מחזירה לכל מספר ממשי את המספר השלם הקרוב ביותר אליו, כאשר כל מספר שהחלק השברי שלו הוא חצי מעוגל למספר הזוגי הקרוב ביותר. לדוגמה <math>\operatorname{nint}(2.5)=2</math> ו-<math>\operatorname{nint}(3.8)=4</math>.

== במדעי המחשב ==

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

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

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

{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|+ גודל הטווח שניתן להציג בגודל זיכרון כלשהו
! גודל הזיכרון
! גודל טווח הערכים
|-
| 1 בתים (8 סיביות)
| 127- עד 128
|- bgcolor="#EFEFEF"
| 2 בתים (16 סיביות)
| 32,768- עד 32,767
|-
| 4 בתים (32 סיביות)
| 2,147,483,648- עד 2,147,483,647
|}

==ראו גם==
* חוג המספרים השלמים
* מערכות מספרים
* מספרים חיוביים ושליליים
* ארבע פעולות החשבון

==לקריאה נוספת==
<div class="mw-content-ltr">
* 
*
</div>

==קישורים חיצוניים==

* 
* 
* 
* 

==הערות שוליים==

קטגוריה:אלגברה
קטגוריה:תורת המספרים