小编jst*_*jst的帖子

为什么选择SHA512而不是SHA384?

SHA3​​84是SHA512的截断版本.但为什么有人会用呢?并且推论:如果SHA384与SHA512一样好,那么使用512位版本有什么理由吗?

我打算使用其中一种算法来验证文件的完整性,所以我主要对colision安全感兴趣.

我很高兴听到任何人在实践中如何使用SHA2摘要,为什么你会选择一个版本而不是另一个版本.

hash integrity digest sha2 sha512

20
推荐指数
4
解决办法
2万
查看次数

为什么Date.new不调用initialize?

我想创建Date的子类.

一个正常,健康,年轻的rubyist,由于Date的实现特性而没有受到干扰,将通过以下方式解决这个问题:

require 'date'

class MyDate < Date

  def initialize(year, month, day)
    @original_month = month
    @original_day = day

    # Christmas comes early!
    super(year, 12, 25)
  end

end
Run Code Online (Sandbox Code Playgroud)

并以最期望的方式继续使用它......

require 'my_date'

mdt = MyDate.new(2012, 1, 28)

puts mdt.to_s
Run Code Online (Sandbox Code Playgroud)

......只有被出卖的事实,该日期::新方法实际上是一个别名日期::公民,不以往任何时候都调用初始化.在这种情况下,最后一段代码打印"2012-01-28"而不是预期的"2012-12-25".

亲爱的Ruby社区,wtf是这个吗?

是否有一些非常好的理由将别名设为new,这样它就会忽略初始化,因此,任何常识和对客户程序员心理健康的关注?

ruby inheritance date

6
推荐指数
1
解决办法
823
查看次数

输出导致蒙特卡罗积分的不同结果

我最近偶然发现了一个C++错误/功能,我无法完全理解,希望有更好的C++知识的人能指出我正确的方向.

下面你会发现我尝试使用蒙特卡罗积分找出高斯曲线下的区域.食谱是:

  1. 生成大量正态分布的随机变量(平均值为零,标准差为1).
  2. 将这些数字平方.
  3. 取所有正方形的平均值.平均值将是对曲线下面积的非常接近的估计(在高斯的情况下,它是1.0).

下面的代码由两个简单的函数组成:rand_uni它返回一个随机变量,均匀分布在0和1之间,并且rand_norm,它是一个(相当差,但"对于政府工作来说足够好")近似正态分布的随机变量.

main通过一个循环运行十亿次,rand_norm每次调用,将其平方pow并添加到累积变量.在此循环之后,累计结果仅除以运行次数并打印到终端Result=<SOME NUMBER>.

问题在于以下代码的非常古怪的行为:当每个生成的随机变量被打印到cout(是,十亿次)时,无论使用何种编译器,最终结果都是正确的(1.0015,这与我的非常接近)想).如果我没有在每次循环迭代打印随机变量,我得到infgcc和448314下clang.

坦率地说,这只是博格尔斯头脑和,因为它是一个用C++我第一次(-ish)的遭遇,我真的不知道,这个问题可能是什么:它是用的东西pow?是否cout采取行动怪异?

任何暗示都将非常感激!

来源

// Monte Carlo integration of the Gaussian curve

#include <iostream>
#include <cstdlib>
#include <cmath>


using namespace std;


enum {
  no_of_runs = 1000000
};


// uniform random variable
double rand_uni() {
  return ((double) rand() / (RAND_MAX));
};


// approximation of a normaly distributed random variable
double …
Run Code Online (Sandbox Code Playgroud)

c++ gcc cout clang montecarlo

6
推荐指数
1
解决办法
1230
查看次数

标签 统计

c++ ×1

clang ×1

cout ×1

date ×1

digest ×1

gcc ×1

hash ×1

inheritance ×1

integrity ×1

montecarlo ×1

ruby ×1

sha2 ×1

sha512 ×1