crackNum: Crack various integer, floating-point data formats

[ bsd3, library, program, tools ] [ Propose Tags ]

Crack HP, SP and DP floats and 8, 16, 32, 64 bit words and integers.

For details, please see:

[Skip to Readme]
Versions [faq] 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3 (info)
Change log
Dependencies base (==4.*), data-binary-ieee754, ieee754 [details]
License BSD-3-Clause
Copyright Levent Erkok
Author Levent Erkok
Revised Revision 1 made by phadej at Tue May 31 12:35:40 UTC 2016
Category Tools
Source repo head: git clone git://
Uploaded by LeventErkok at Sat Apr 11 17:58:32 UTC 2015
Distributions Arch:2.3, Debian:2.2, LTSHaskell:2.3, NixOS:2.3, Stackage:2.3
Executables crackNum
Downloads 7792 total (262 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2015-04-11 [all 1 reports]




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for crackNum-1.3

[back to package description]
<table> <tr> <th>Travis Build</th><th>Hackage</th> </tr> <tr>
   <a href=""><img src=""></img></a>

   <a href=""><img src=""></img></a>
</tr> </table>


Display/show/analyze IEEE754 Half-precision, Single-precision, and Double-precision values; along with various integer types: Signed/Unsigned, 8, 16, 32, 64 bits.

$ crackNum --help
crackNum v1.1, (c) Levent Erkok. Released with a BSD3 license.
Usage: crackNum precision bit/hex-pattern
          --hp        16 bit half     precision
          --sp        32 bit single   precision
          --dp        64 bit double   precision
          --sb         8 bit signed   byte
          --sw        16 bit signed   word
          --sd        32 bit signed   double
          --sq        64 bit signed   quad
          --ub         8 bit unsigned byte
          --uw        16 bit unsigned word
          --ud        32 bit unsigned double
          --uq        64 bit unsigned quad
          --toIEEE=n  Convert from decimal to IEEE SP/DP formats.
  -l n    --lanes=n   number of lanes
  -h, -?  --help      print help, with examples
  -v      --version   print version info


   crackNum --hp fc00
   crackNum --sp fc00 abcd
   crackNum --dp fc00 abc1 2345 6789
   crackNum --sp 01111111110000000000000000000000
   crackNum -l2 --hp 01111111110000000000000000000000
   crackNum --sb 7f
   crackNum --sp --toIEEE=-2.3e6
   crackNum --dp --toIEEE=max
   crackNum --dp --toIEEE=ulp

  - You can use hexadecimal or binary as input.
  - You can use _,- or space as a digit to improve readability.
  - You can give input for multiple lanes, we will guess the #of lanes for you.
    Or, you can specify number of lanes with the -l option.
  - For "toIEEE" option:
        - You can enter a number in decimal notation (like 2.3)
        - OR, enter one of the following:
               * infinity, -infinity: Positive/Negative infinities
               * snan, qnan: Not-A-Number; screaming/quiet
               * 0, -0: Both kinds of zeros
               * max : The maximum finite positive value
               * -max: The minimum finite negative value
               * min : The minimum normal positive value
               * -min: The maximum normal negative value
               * epsilon: The smallest possible value x s.t. 1+x /= 1.
               * ulp: The minimum subnormal value