package main
import "fmt"
func main() {
var arg [10000000000]bool
for {
for i := 0; i < 10000000000; i++ {
arg[i] = true
}
for i := 0; i < 10000000000; i++ {
if !arg[i] {
fmt.Println("位翻转了!")
return
}
}
fmt.Println("!!")
}
}
我在 mac 上运行了很久,都没发生翻转,不知道是概率太低还是 golang 的 bool 数据结构有兼容处理
我记得很久很久以前,V 站有一次讨论要不要上 ECC 的帖子,当时有大佬给出了一段代码,大致是声明一个很大很大的数组,然后全部赋值成 1 ,然后再反复遍历检查,有可能出现值为 0 的结果。但是我现在无论如何都搜不到那篇帖子了。有没有大佬再给写个复现代码?
我拿 Go 写的
我在 mac 上运行了很久,都没发生翻转,不知道是概率太低还是 golang 的 bool 数据结构有兼容处理