[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Strange results
From: |
Dwaddle |
Subject: |
Strange results |
Date: |
Sat, 7 Sep 2013 00:06:21 -0700 (PDT) |
User-agent: |
G2/1.0 |
Hi
i've been dabbling around in elisp for a while. Made this function
The issue is the byte var which 'remembers' the result from a previous
calculation.
(integer-bin 5) [0 0 0 0 0 1 0 1]
(integer-bin 3) [0 0 0 0 0 1 1 1]
To beat the critics I know it isn't very clean programmed and a loop would make
it al lot shorter
<code>
(defun integer-bin (dec)
"Convert integer to binairy"
(setq 8bit [128 64 32 16 8 4 2 1])
(setq byte [0 0 0 0 0 0 0 0])
(if (= 1 (/ dec (aref 8bit 0))) (when
(aset byte 0 1)
(setq dec (- dec 128))))
(if (< 0 dec)
(if (= 1 (/ dec (aref 8bit 1))) (when
(aset byte 1 1)
(setq dec (- dec 64)))))
(if (< 0 dec)
(if (= 1 (/ dec (aref 8bit 2))) (when
(aset byte 2 1)
(setq dec (- dec 32)))))
(if (< 0 dec)
(if (= 1 (/ dec (aref 8bit 3))) (when
(aset byte 3 1)
(setq dec (- dec 16)))))
(if (< 0 dec)
(if (= 1 (/ dec (aref 8bit 4))) (when
(aset byte 4 1)
(setq dec (- dec 8)))))
(if (< 0 dec)
(if (= 1 (/ d<ec (aref 8bit 5))) (when
(aset byte 5 1)
(setq dec (- dec 4)))))
(if (< 0 dec)
(if (= 1 (/ dec (aref 8bit 6))) (when
(aset byte 6 1)
(setq dec (- dec 2)))))
(if (< 0 dec)
(if (= 1 1) (when (aset byte 7 1)
(setq dec (- dec 1)))))
(print byte)
)
</code>
- Strange results,
Dwaddle <=