printf("SW date=%4d",a);
↓
printf("SW date=%4d",~a);

但し a のビット数と pioget(); で取得できる有効なビット数の違いに注意