Excess-3 (או בקיצור XS-3), היא שיטת ספירה המבוססת על עיקרון שיטת BCD, אשר הייתה בשימוש במספר מחשבים ישנים (ובהם, מחשב האניאק, שנחשב בעיני רבים למחשב האלקטרוני הראשון). בקידוד XS-3, מספרים מיוצגים כספרות עשרוניות, כאשר כל ספרה מיוצגת על ידי 4 סיביות על פי ערכה הבינארי ועוד 3 (ומכאן גם נובע שמה של השיטה).
להלן הייצוג של כל ספרה עשרונית בקידוד זה:
ספרה |
קידוד |
ספרה |
קידוד
|
0 |
0011 |
5 |
1000
|
1 |
0100 |
6 |
1001
|
2 |
0101 |
7 |
1010
|
3 |
0110 |
8 |
1011
|
4 |
0111 |
9 |
1100
|
לדוגמה, כדי לקודד את המספר 721, יש לקודד כל אחת מהספרות שלו על פי הטבלה לעיל ואז יתקבל (0100 0101 1010).
היתרון המרכזי בקידוד XS-3 על פני קידוד BCD פשוט הוא שמספר עשרוני יכול להיות משלים לתשע, באותו האופן כמו שמספר בינארי יכול להיות משלים לאחד, כלומר - הפיכת כל הביטים של ספרה, ייתן את הספרה המשלימה ל-9 בייצוג העשרוני.
פעולת החיבור ב־XS-3 משתמשת באלגוריתם שונה מזה של BCD או של מספרים בינאריים רגילים. כאשר מחברים שני מספרים בקידוד XS-3, התוצאה אינה מספר המקודד ב־XS-3. למשל, כאשר מחברים 1 ו־0 בשיטה זו, התשובה המתקבלת היא 4 (במקום 1). כדי לטפל בבעיה, כאשר מסיימים לחבר בין המספרים, מחסרים 3 מהתוצאה אם התוצאה העשרונית גדולה מ־10, ומוסיפים 3 לתוצאה אם התוצאה העשרונית קטנה מ־10.
ראו גם