views:

367

answers:

1

I have code like this to convert hex into byte string

(define (word->bin s)
  (let ((n (string->number s)))
    (bytes (bitwise-and (arithmetic-shift n -24) #xFF)
    (bitwise-and (arithmetic-shift n -16) #xFF)
    (bitwise-and (arithmetic-shift n -8) #xFF)
    (bitwise-and n #xFF))))
(word->bin "#x10000002")

I'm thinking of a similar function to convert binary into integers, then print it. The end result is the binary translated to hex. Some helpful links: http://download.plt-scheme.org/doc/372/html/mzscheme/mzscheme-Z-H-11.html#node_sec_11.2.1

http://docs.plt-scheme.org/reference/bytestrings.html#(def.((quote.~23~25kernel)._bytes-~3estring/utf-8))

+2  A: 

I'm not sure that this is what you're looking for, or even if you're using PLT, but if you do, then you should look at the integer-bytes->integer and integer->integer-bytes functions that are included in PLT. Note that these create byte strings with binary content -- so it might be different than what you're trying to do here.

(And if you're using version 372, then you should really upgrade.)

Eli Barzilay
Thanks, I'm surprised the teachers did not mention this
yuguang
Well, if this is part of a homework, then your teacher might require you to write a solution.
Eli Barzilay