Yeah, it&#x27;s probably as reasonable a hack as you can hope to find in the context of C. The thing to watch out for is that you&#x27;d end up with different semantics in arithmetic operations. Right-shift wouldn&#x27;t sign-extend, for example, that&#x27;s the first one that comes to mind.<p>Weirdly enough, in my project above I ended up eschewing <i>unsigned</i> ints and just relying on <i>signed</i> numbers everywhere. I have to take a big hit on performance by adding a couple of asserts that consistently enable this without undefined behavior (and I might still be missing something), but performance hasn&#x27;t been an issue so far. I just don&#x27;t want to think about whether I might want to perform subtraction down the road when I create a new int. &quot;Unsigned integer&quot; is an oxymoron since integers are defined to include negative numbers.