Below is some code from switch statement. `getvalue()` returns an `unsigned long`.
Could somebody explain why `value` is bitwise anded with `0xffffffff`. 
The mcu is 32 bit. 

```
#define WriteMemory(A,V) *(volatile unsigned long*)(A)=(V)
static unsigned value;

case 'b':
value = getvalue();
value &= 0xffffffff;
WriteMemory(2147455555, value);
break; 

```