This commit is contained in:
Ingy döt Net 2013-10-27 22:24:23 +00:00
parent 6f050a029e
commit 776bba907c
3887 changed files with 59894 additions and 7280 deletions

View file

@ -0,0 +1,10 @@
import Numeric
to = flip showOct ""
from = fst . head . readOct
main = do
fancy 2097152
fancy 2097151
where fancy i = putStrLn $ to i ++ " <-> " ++ show (from $ to i)

View file

@ -0,0 +1,11 @@
base = 8
to 0 = []
to i = to (div i base) ++ [mod i base]
from = foldl1 (\x y -> x*base + y)
main = do
fancy 2097152
fancy 2097151
where fancy i = putStrLn $ concatMap show (to i) ++ " <-> " ++ show (from $ to i)

View file

@ -0,0 +1,15 @@
#lang racket
(define (try n)
(printf "Original number: ~s (0x~x)\n" n n)
(define 4octets (integer->integer-bytes n 4 #f))
(printf "Octets: ~a (byte-string: ~s)\n"
(string-join (map (λ(o) (~r o #:base 16))
(bytes->list 4octets))
":")
4octets)
(define m (integer-bytes->integer 4octets #f))
(printf "Back to a number: ~s (~a)\n"
m (if (= m n) "OK" "BAD")))
(for-each try '(#x200000 #x1fffff))