Use explicit width / signedness types in unions

This fixes the issue in PR #60 but using the defined width and signedness types from common.h