6: Heiltölureikningur Flashcards
Stýfing (truncation)
Minnka plássið, breyta stærri tölum yfir í tölu með færri bita
Formerkisvíkkun (sign extension)
Stækka plássið, breyta minni tölum yfir í tölu með fleiri bita
Formerkisvíkkun (sign extension)
Bæta fyrstu tölunni framan á :
001 verður 0001
110 verður 1110
Stýfing (truncation)
Minnka plássið, breyta stærri tölum yfir í tölu með færri bita
Stýfing (truncation)
Ekki alltaf hægt að klippa bara fyrstu töluna af, maður getur endað með annað gildi.
Yfirflæði/Undirflæði
Helstu reglur :
Víkkun (t.d., short int yfir í int)
– Án formerkis: Bætum við núllum
– Með formerki: Formerkisvíkkun (efsti biti afritaður)
– Báðar útgáfur gera það sem við búumst við
Helstu reglur :
Stýfing (t.d., unsigned yfir í unsigned short)
– Með/án formerkis: efstu bitum er hent
– Útkoman túlkuð uppá nýtt
– Án formerkis: Virkar eins og mod aðgerð
– Með formerki: Virkar svipað og mod
– Virkar eins og við búumst við fyrir litlar tölur
Samlagning án formerkis
Venjulegt samlagningarfall
– Hendir geymdum bitum (carry)
Yfirflæði:
Vefst í hring (wraps)
– Ef summan er ≥ 2^w
Tvíandhverfusamlagning
TAdd og UAdd hafa sömu hegðun séð frá bitunum
Efsti biti og carry biti eru eins þá?
Erum við í góðum málum
Efsti biti og carry biti eru ekki eins þá?
Yfirflæði
Yfirflæði í TAdd
Virkni:
– Rétt summa þarf w+1
bita
– Hendum efsta bitanum
(MSB)
– Meðhöndlum hina w
bitana sem tvíandhverfu
heiltölu
Of stór mínustala verður ?
jákvæð tala
Einkenni TAdd
Virkni
– Rétt summa þarf w+1 bita
– Hendum efsta bitanum
(MSB)
– Meðhöndlum hina w bitana
sem tvíandhverfu heiltölu