Skip to content
R 📦 for R FAQ 7.31
R C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
img
man
src
.Rbuildignore
.gitignore
DESCRIPTION
LICENSE
NAMESPACE
README.Rmd
README.md
seven31.Rproj

README.md

R FAQ 7.31

is probably the most famous FAQ, so it deserves its own 📦 to help you 🕵️ the confusion of

0.3 + 0.6 == 0.9
#> [1] FALSE
sqrt(2)^2 == 2
#> [1] FALSE

This wikipedia article is a good introduction to the Double-precision floating-point format, but in short double (what we call numeric in R) are encoded in 64 bits:

  • the first bit is the sign bit
  • the 11 following bits are the exponent
  • the remaining 52 bits are the fraction

Installation

From github:

devtools::install_github( "ThinkR-open/seven31" )

Reveal the bits

reveal 🔍 the binary representation of numbers. It takes a variadic number of arguments and shows their representation. On a 🖍 compatible environment, you get a nice colored output:

Compare two numbers

compare shows the differences. On 🖍 compatible environments, the bits that differ between the two numbers are highlighted with 🔴 background.

You can’t perform that action at this time.