Re:Gangnam Style breaks YouTube viewer count
by spb on Tuesday December 02, 2014 @07:13PM
(#8691023)
Say you're comparing the number of views between two different videos as (video_A.views - video_B.views). How do you represent that the second video has more views than the first?
[ Parent
| on HN ]
Re:Gangnam Style breaks YouTube viewer count
by nly on Tuesday December 02, 2014 @08:31PM
(#8691332)
video_B.views > video_A.views
Re:Gangnam Style breaks YouTube viewer count
by tempestn on Tuesday December 02, 2014 @09:05PM
(#8691459)
And what if you want to say how many more? You'd have to first check which one is greater, and then subtract in the right direction. The code is simpler if you just use signed integers.
Re:Gangnam Style breaks YouTube viewer count
by bobbykjack on Wednesday December 03, 2014 @04:13AM
(#8692630)
To say "b has n more views than a", you need two operations whether you use signed or unsigned ints. Signed let's you say "these two videos have n different views" but, to be honest, it seems unlikely that you be doing either in so many places in your codebase, or so frequently during execution, to make the extra operation that significant.
Re:Gangnam Style breaks YouTube viewer count
by tempestn on Wednesday December 03, 2014 @04:27AM
(#8692676)
Yes, in this specific example you still need the same number of operations. My point was, when you just use signed integers, it's easier to conceptualize and harder to screw up. It's more flexible for unforeseen future use cases. Also, this is a very simplified example case; in most scenarios those unforeseen possibilities will be more significant.
Given that switching to unsigned saves you exactly one bit, it's just not usually worth it. How often do you need exactly 32 bits of unsigned space, when 31 isn't enough, and you can't use 63? (I'm talking about standard-length integers here, not extreme situations where you're trying to make maximum use of 8 bits of storage or similar.)