diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-09-22 00:48:10 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-09-22 00:48:10 +0800 |
| commit | fe849ca438b8110bab519a119e512568b03ff907 (patch) | |
| tree | 4bc474d458080336b9efe61c34293c3333fe6fdb | |
| parent | 738971253959dd125303082352354e5fcdfd180f (diff) | |
| download | datalab2026-fe849ca438b8110bab519a119e512568b03ff907.tar.gz datalab2026-fe849ca438b8110bab519a119e512568b03ff907.tar.xz | |
floatPower2
| -rw-r--r-- | bits.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -311,5 +311,14 @@ int float64_f2i(unsigned uf1, unsigned uf2) { * Difficulty: 4 */ unsigned floatPower2(int x) { - return 2; + if (x < -149) { + return 0; + } + if (x < -126) { + return 1 << (x + 149); + } + if (x <= 127) { + return (x + 127) << 23; + } + return 0x7F800000; } |
