diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-09-21 00:35:57 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-09-21 00:35:57 +0800 |
| commit | a861dd065647f7ec434a7d4a4c43c30a1577e03a (patch) | |
| tree | 10882df05e8b999765dfc717d57621c6189856f4 | |
| parent | c2f527c0f8b9b9f143da7df9343c0f1abef950ff (diff) | |
| download | datalab2026-a861dd065647f7ec434a7d4a4c43c30a1577e03a.tar.gz datalab2026-a861dd065647f7ec434a7d4a4c43c30a1577e03a.tar.xz | |
fixed UB in logicalShift
| -rw-r--r-- | bits.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -143,7 +143,7 @@ unsigned reverse(unsigned v) { * Difficulty: 3 */ int logicalShift(int x, int n) { - return (x >> n) & ~(((1 << 31) >> n) << 1); + return (x >> n) & (~(!n + ~0) | (0x7FFFFFFF >> (n + ~0 + !n))); } /* |
