I am trying to compute the number binomial(100,50)/2^100, among others.
The following code gives an explicit rational value of type Rational{BigInt} for that number.
julia> using Combinatorics 
julia> binomial(big(100),50) // big(2)^100
12611418068195524166851562157//158456325028528675187087900672
Unfortunately, trying to convert this value to Float64 using the float function gives an error.
julia> julia> float(binomial(big(100),50) // big(2)^100)
Error showing value of type BigFloat:
ERROR: AssertionError: length(int) == 1
[...]
Why? I would expect float to be able to handle such an argument.
julia> float(Rational{BigInt})
BigFloat
julia> BigFloat(binomial(big(100),50) // big(2)^100)
Error showing value of type BigFloat:
ERROR: AssertionError: length(int) == 1
I finally succeeded to obtain an approximate value with
julia> convert(Float64, binomial(big(100),50) // big(2)^100)
0.07958923738717877
Still I am puzzled by the errors I obtained. How can I obtain a value of type BigFloat for my number? This seems to be the correct type for these kind of computations.