百科问答小站 logo
百科问答小站 font logo



.NET类库中HashCodeHelper的实现原理是什么? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

当然不可能保证唯一,

俩Int32得到一个Int32怎么可能是唯一的。



一般合并哈希就是用异或,,,

而移位相加后再异或是为了避免两个同样的值异或之后数据丢失。

也就是说a^a^b = b,a的信息丢失了。


user avatar   xuan-hun 网友的相关建议: 
      

首先要说的这种hash方法在.net内部不是单独使用的,在同命名空间下,我们可以看到该方法的使用,主要在向量运算中。任何hash都不能保证唯一性,只能最大可能性的避免碰撞


第二,移位和异或是常规的hash实现和合并方法,这点可以google或者参考知乎中的另一篇帖子

到底什么是hash? - 编程

第三,循环hash合并,就是为了最大程度上避免碰撞。




  

相关话题

  ajax发送json数据到后台时,数据中包含html代码的文本,会出现Connection Error如何解决? 
  C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗? 
  实体软件(和游戏)光碟和影视光碟(蓝光BD)何时能用U盘取代而只读不写入?就像游戏卡带一样卖? 
  DirectX是谁开发的?有什么过人之处? 
  微软推出的 Office 对 Apple Watch 的支持是否标志着 I'm 1% 运动的彻底失败? 
  Windows 下有哪些给你带来「快感」的软件? 
  如何看待微软辟谣「断供」中国用户,称类似细则早已存在? 
  Windows 10 数字许可证是否会影响微软应用商店自动下载第三方应用? 
  为什么在 Windows 2000 推出仅仅一年之后微软就推出了 Windows XP? 
  帝国时代2至今为止的奇观建筑分别有哪些? 

前一个讨论
如何让<fieldset>基于外边框垂直方向对齐,而不是里面的内容底线对齐?
下一个讨论
如何借助服务器,使两个客户端之间建立网络连接?





© 2025-06-23 - tinynew.org. All Rights Reserved.
© 2025-06-23 - tinynew.org. 保留所有权利