update datalab

This commit is contained in:
18218461270@163.com 2025-07-23 21:08:31 +08:00
parent b178775baf
commit a5412db35e

View File

@ -1,16 +1,10 @@
# datalab
## `bitXor`, `tmin`
略。
## `isTmax`
$Tmax$ 的位表示为 `011...11`。注意到 `x+1==~x` 当且仅当 $x=-1$ 或 $x=Tmax$。利用该性质,并判断是否为 $-1$。
## `allOddBits`
使用“折半递归法”,参见作业 2.65。
## `negate`, `isAsciiDigit`
略。
## `conditional`
设计这样一个函数 $f(x)$:当 $x=0$ 时 `f(x)=0x00000000`,而 $x\neq 0$ 时 `f(x)=0xFFFFFFFF`。此时只需令 `conditional(x, y, z) = (y & f(x)) | (z & ~f(x))`
@ -25,7 +19,4 @@ $Tmax$ 的位表示为 `011...11`。注意到 `x+1==~x` 当且仅当 $x=-1$ 或
## `howManyBits`
对于正数 $x$,所求为最大的 $b$ 使得 $x$ 的第 $b-2$ 位为 `1`,而对于负数 $x$,则是最大的 $b$ 使得 $x$ 的第 $b-2$ 位为 `0`。通过令 `x = x ^ (x >> 31)`,我们得以仅用考虑 $x$ 为正数的情况。
之后使用“折半递归法”。
## `floatScale2`,`floatFloat2Int`,`floatPower2`
略。
之后使用“折半递归法”。