回望南山
记忆痕迹可以鲜明, 回望往事如数家珍——
posts - 177,  comments - 54,  trackbacks - 0

;转换为10进制 数值val 原始进制base
(defun baseToDecimal (base val / pos power1 result tmp)
  (setq pos (1+ (strlen val))
    power1 -1
    result 0
    val (strcase val)
  )
  (while (> (setq pos (1- pos)) 0)
    (setq result
       (+
         result
         (* (if (> (setq tmp (ascii (substr val pos 1))) 64)
          (- tmp 55)
          (- tmp 48)
        )
        (expt base (setq power1 (1+ power1)))
         )
       )
    )
  )
  result
)

;10进制转换为其他进制 数值val 目标进制base;
(defun decimalToBase (base val / result tmp)
  (setq result "")
  (while (> val 0)
    (setq result (strcat (if (> (setq tmp (rem val base)) 9)
               (chr (+ tmp 55))
               (itoa tmp)
             )
             result
         )
      val (fix (/ val base))
    )
  )
  result
)

;进制转换 数值val 原始进制base1 目标进制base2;
(defun base1tobase2 (val base1 base2 / result)
  (cond
    ((and (= (type val) 'INT) (= base1 10))
     (setq result (decimalToBase base2 val))
    )
    ((and (= (type val) 'STR) (= base1 10))
     (setq result (decimalToBase base2 (read val)))
    )
    ((= (type val) 'STR)
     (setq result (decimalToBase base2 (baseToDecimal base1 val)))
    )
    (t nil)
  )
  (if (= base2 10) (read result) result)
)

posted on 2008-03-10 14:41 深藏记忆 阅读(75) 评论(0)  编辑  收藏 所属分类: Vlisp之韵

飘过是缘,相识最真

订阅到抓虾
google reader
gougou


点击这里给我发消息


<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(5)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

八面来息

天天充电

同行者

积分与排名

  • 积分 - 59540
  • 排名 - 62

最新评论

阅读排行榜

评论排行榜