Domanda

E 'possibile aggiungere due firmato numeri a 8 bit insieme e insieme entrambi i bit di trasportare e troppo pieno?

È stato utile?

Soluzione

Per i vostri commenti, la tua domanda sembra essere "è possibile avere sia il trasporto e il troppo pieno per un due di add complemento che coinvolgono numero con segno?" È. La tipica implementazione è prendere OR esclusivo del riporto nel sommatore per l'ultimo con il riporto alla fine della catena - quindi, un'aggiunta traboccante di numeri negativi causerà il riporto su bit da impostare e il bit di overflow da impostare.

Ecco un esempio, aggiungere -1 a -128:

Carry 10000 0000 
       1000 0000  (-128)
       1111 1111  (-1)
       ---------
       0111 1111 (oops, this is 127!)

Carry sarà impostato, dall'ultimo aggiuntivo determinato un riporto - e troppopieno verrà impostato in base alla regola di cui sopra (anche nota che -128 aggiunto -1 ovviamente non 127)

Altri suggerimenti

Non hai accesso alle bandiere in C, anche se si potrebbe ottenere il compilatore di generare codice che li impostato, è necessario non hanno modo di usarli.

È possibile scrivere una propria routine aggiuntivo in C che restituirà trasportare e di overflow bandiere per firmato operandi a 8 bit. Se ti riferisci all'hardware trasporto e bit di overflow all'interno il processore, no, che non può essere fatto in modo portabile C.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top