奇怪了,为什么pow(2,31)-1wa了#3

P3371 【模板】单源最短路径(弱化版)

@[sxhy](/user/1183187) 大于 $2147483647$ 的浮点数强制转换为 int 会变成 $2147483647$,因此如果你试一下输出 `(int)pow(2, 31)` 会发现结果是 $2147483647$
by rui_er @ 2024-03-18 23:43:56


@[rui_er](/user/122461) %%% stO 尺子姐姐 Orz %%%
by WydnksqhbD @ 2024-03-18 23:47:31


@[rui_er](/user/122461) 可我输出```cpp (int)pow(2, 31) ``` 后是-2147483648,输出```cpp (int)pow(2, 31)-1 ``` 才是2147483647
by sxhy @ 2024-03-19 13:02:11


@[sxhy](/user/1183187) 这格式有些小错误.....
by sxhy @ 2024-03-19 13:03:01


直接位运算 `(1<<31)-1` 不就行了
by gzr_100 @ 2024-04-12 16:05:05


|