יש מעבד שאינו משתמש בfloat ועל מנת לייצג שברים, הוא משתמש בinteger long המיוצג עם שלמעשה מיוצג בעזרת 4B-32bit.
נגדיר את ביטי הlong באופן הבא:
הביט הMSB נסמנו S -signed
ה8 ביטים הבאים נסמנם E – Exponentially
ו23 ביטים הנותרים נסמנם M -mantissa
הנוסחה הבאה מייצגת את השבר בעזרת ה long:
(1- בחזקת S)כפול( M )כפול(2 בחזקת E)
צריך לרשום את הפונקציה :
unsigned long add(unsigned long float1, unsigned long float2)
שמקבלת שני ערכי long (שהם למעשה שברים) , עושה חיבור שלהם ומחזירה את התוצאה בlong
אולי התכוון ל bit shifting:
2^E=.1 << E