Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Really? What if it wraps around? ts1=MAX_INT-40, ts2=20, ts2-ts1 < 0. Or does that actually work out correctly with signed integers in C?


Technically, overflow of signed integers invokes undefined behavior (or possibly implementation defined. In my copy of a draft standard overflow is given as an example of undefined behavior, but 6.3.1.3 say implementation defined). In practice, it's the same bit values as unsigned integers, which does the right thing in this case.


It works regardless of signed/unsigned type, because signed ints still wrap at UINT_MAX (and not at INT_MAX).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: