CSC373/406: Integers: Unsigned ints [2/9] Previous pageContentsNext page

Adding binary and hex numbers

unsigned types

   unsigned char x = ...;  // 8 bits
   unsigned int  y = x;    // 32 bits

   unsigned int  x = ...;  
   unsigned char y = x;

Adding unsigned numbers

   unsigned char x = 250;
   unsigned char y1 = x + 5;
   unsigned char y2 = x + 6;

   QUESTION: y1 == 0
   QUESTION: y2 == 0

Adding unsigned numbers

Modular arithmetic

   unsigned char x = ...
   unsigned char y = ...

   unsigned int ix = x;
   unsigned int iy = y;

   FACT: ((unsigned char) (x + y)) == ((ix + iy) % 256)
   FACT: ((unsigned char) (x - y)) == ((ix - iy) % 256)
   FACT: ((unsigned char) (x * y)) == ((ix * iy) % 256)
   FACT: ((unsigned char) (x / y)) == ((ix / iy) % 256) /* if y != 0 */

Detecting unsigned overflow

Multiplication/Division by powers of two

Previous pageContentsNext page