update datalab

This commit is contained in:
18218461270@163.com 2025-07-23 21:24:44 +08:00
parent 907bbd8a7d
commit f7953ea884

View File

@ -1,12 +1,12 @@
# datalab # datalab
## `isTmax` ## `isTmax`
$Tmax$ 的位表示为 `011...11`。注意到 `x+1==~x` 当且仅当 $x=-1$ 或 $x=Tmax$。利用该性质,并判断是否为 $-1$ $Tmax$ 的位表示为 `011...11`。注意到 `x + 1 == ~x` 当且仅当 $x=-1$ 或 $x=Tmax$。类似的,判断 `x + x + 2 == 0` 看似也可行,但实际上编译器将这条式子优化成了 `x == -1`
## `allOddBits` ## `allOddBits`
使用“折半递归法”,参见作业 2.65。 使用“折半递归法”,参见作业 2.65。
## `conditional` ## `conditional`
设计这样一个函数 $f(x)$:当 $x=0$ 时 `f(x)=0x00000000`,而 $x\neq 0$ 时 `f(x)=0xFFFFFFFF`。此时只需令 `conditional(x, y, z) = (y & f(x)) | (z & ~f(x))` 设计这样一个函数 $f(x)$:当 $x=0$ 时 `f(x) = 0x00000000`,而 $x\neq 0$ 时 `f(x) = 0xFFFFFFFF`。此时只需令 `conditional(x, y, z) = (y & f(x)) | (z & ~f(x))`
一个可行的方案是令 `f(x) = !x - 1` 一个可行的方案是令 `f(x) = !x - 1`