普通不用 ECC 内存的电脑出现位翻转的概率有多大?

18次阅读

共计 356 个字符,预计需要花费 1 分钟才能阅读完成。

我记得很久很久以前,V 站有一次讨论要不要上 ECC 的帖子,当时有大佬给出了一段代码,大致是声明一个很大很大的数组,然后全部赋值成 1,然后再反复遍历检查,有可能出现值为 0 的结果。但是我现在无论如何都搜不到那篇帖子了。有没有大佬再给写个复现代码?

我拿 Go 写的

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 数据结构有兼容处理

正文完
 0