help-gnu-emacs
[Top][All Lists]
Advanced

[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> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]