To be honest I think there are good arguments to both sides, and I don&#x27;t think there is really a one size fits all solution here. If you use unsigned you&#x27;ve got to pay attention to certain corner cases, if you use signed you&#x27;ve got to pay attention to different corner cases, it&#x27;s up to you to decide which is more common in your code.