马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
数字十进制和二进制的转换

- ;;———————————————————————————————————
- ;;#$fildname-> math.lsp
- ;;time-stamp-> 11:03 02-4-22 zjw
- ;;Copyright (C) 2001 by zjw ,WuXi Municipal Enginerring Design Institue. All Rights Reserved.
- ;;-------------------------------------------------
- ;;#$help.begin
- ;;##function.name-> DD_BIN->NUM DD_NUM->BIN
- ;;##keyword-> BIN NUM 数字十进制和二进制的转换 (二进制用表表示) 只处理正整数
- ;;##Description->
- ;;##Arguments.begin
- ;| |;
- ;;##Arguments.end
- ;;##return-> <int> or <list>
- ;;##examples.begin
- ;| (DD_NUM->BIN 6) => (1 1 0)
- |;
- ;;##examples.end
- ;;##see also->
- ;;#$help.end
- ;;-------------------------------------------------
- (defun DD_BIN->NUM (numlst / i n)
- (setq n 0)
- (foreach i numlst
- (setq n
- (cond
- ((= i 0) (lsh n 1))
- ((= i 1) (1+ (lsh n 1)))
- (T (chr (chr (+ 48 i)))))))
- )
- ;;;
- (defun DD_NUM->BIN (i / lst)
- (while (> i 0)
- (setq lst (cons (rem i 2) lst)
- i (lsh i -1)))
- lst
- )
- ;;—————————————————END—————————————————
|