假设我们有十亿个独特的图像,每个图像一兆字节.我们计算每个文件内容的SHA-256哈希值.碰撞的可能性取决于:
假设它为零,我们可以在多大程度上忽略这种可能性?
我正在阅读K&R中关于C的联合,据我所知,联合中的单个变量可以包含几种类型中的任何一种,如果某些东西存储为一种类型并且提取为另一种,则结果纯粹是实现定义的.
现在请检查以下代码段:
#include<stdio.h>
int main(void)
{
union a
{
int i;
char ch[2];
};
union a u;
u.ch[0] = 3;
u.ch[1] = 2;
printf("%d %d %d\n", u.ch[0], u.ch[1], u.i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
3 2 515
Run Code Online (Sandbox Code Playgroud)
在这里,我在分配值u.ch
,但来自检索u.ch
和u.i
.它是实现定义的吗?或者我做的事情真的很傻?
我知道这对其他大多数人来说似乎都是初学者,但我无法弄清楚输出背后的原因.
谢谢.