update datalab

This commit is contained in:
18218461270@163.com 2025-07-23 20:59:15 +08:00
parent fb07fa860f
commit b178775baf
2 changed files with 4 additions and 23 deletions

View File

@ -20,26 +20,9 @@ float_bits float_i2f(int i) {
s = 0x80000000U;
}
int hb = 0, t = i;
if (t >> 16) {
t = t >> 16;
hb = hb + 16;
}
if (t >> 8) {
t = t >> 8;
hb = hb + 8;
}
if (t >> 4) {
t = t >> 4;
hb = hb + 4;
}
if (t >> 2) {
t = t >> 2;
hb = hb + 2;
}
if (t >> 1) {
t = t >> 1;
hb = hb + 1;
int hb = 30;
while (!(i >> hb)) {
hb = hb - 1;
}
i = i ^ (1 << hb);

View File

@ -33,6 +33,4 @@ b&=(a+x_{w-1}\cdot y+y_{w-1}\cdot x)\bmod 2^w\\
先得到粗糙的结果 `(x >> 2) + ((x >> 2) << 1)`,再根据 `x & 3` 以及 $x$ 的符号(决定舍入方向)进行修正。
## 2.97
注意以下细节:
- 使用“折半递归法”求 $i$ 的有效位数可以避免对于所有 $2^{32}$ 个 `int` 检验花费极长的时间;
- 在某些情况下,舍入会导致有效位数增加。
注意在某些情况下,舍入会导致有效位数增加。