plectrum 发表于 2005-6-6 20:33:00

二进制转十进制的程序

<FONT size=2>(defun xy(x y)<BR>       (if (/= y 0)<BR>                       (progn<BR>                                       (setq sum 1)<BR>                                       (repeat y<BR>                                       (setq sum (* sum x))<BR>                                       )<BR>                       )<BR>                       (progn<BR>                                       (setq sum 1)<BR>                       )<BR>       )<BR>)<BR>(defun c:swith()<BR>       (setq binary (getint"\input binary number:"));input 101<BR>       (setq leng (strlen (rtos binary 2 0)));leng=3<BR>       (setq n 1);n=1<BR>       (setq ll (1- leng));ll=2<BR>       (setq end 0)<BR>       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;repeat<BR>       (repeat leng<BR>       (setq start (atoi (substr (rtos binary 2 0) n 1)));start=1<BR>       (if (= start 0)<BR>                       (progn<BR>                                       (setq ee 0)<BR>                       );end progn<BR>                       (progn<BR>                                       (setq       a 2)<BR>                                       (setq ee (xy a ll));ee=2^2<BR>                       );end progn<BR>       );end if<BR>                       (setq end (+ end ee))<BR>       (setq ll (1- ll));1;0<BR>       (setq n (1+ n));2;3<BR>       );end repeat<BR>                       (print end)<BR>);end defun</FONT>

LONGXIN 发表于 2005-6-6 21:26:00

不记得是谁写的了:


将一个字符串按BASE的做为基数的进制转换为十进制的整数值<BR>(defun baseToDecimal (base val / pos power result tmp)<BR>       (setqpos                       (1+ (strlen val))<BR>power       -1<BR>result 0<BR>val                       (strcase val)<BR>       )<BR>       (while (&gt; (setq pos (1- pos)) 0)<BR>                       (setq result<BR>               (+<BR>                               result<BR>                               (*(if (&gt; (setq tmp (ascii (substr val pos 1))) 64)<BR>       (- tmp 55)<BR>       (- tmp 48)<BR>)<BR>(expt base (setq power (1+ power)))<BR>                               )<BR>               )<BR>                       )<BR>       )<BR>       result<BR>)       <BR>功能       <BR>将一个字符串按BASE的做为基数的进制转换为十进制的整数值       <BR>语法       <BR>(baseToDecimal base val )       <BR>参数       <BR>base:一个代表所要转换的进制(BASE2、BASE8等)基数整数。<BR>val:一个进行转换的字符串。       <BR>返回值       <BR>十进制的整数值       <BR>样例       <BR>(baseToDecimal 16 "FA")       


       


将一个整数转换成一个按BASE基数指定的进制的字符串值<BR>(defun decimalToBase (base val / result tmp)       <BR>               (setq result "")       <BR>               (while (&gt; val 0)                       <BR>                                                               (setq result (strcat (if (&gt; (setq tmp (rem val base)) 9)               <BR>                                                               (chr (+ tmp 55))               (itoa tmp) ) result )       val (fix (/ val base))                       )                               )       result)<BR>        <BR>功能       <BR>将一个整数转换成一个按BASE基数指定的进制的字符串值       <BR>语法       <BR>(decimalToBase base val )       <BR>参数       <BR>base:一个代表所要转换的进制(BASE2、BASE8等)基数整数。<BR>val:一个要转换的整数。<BR>        <BR>返回值       <BR>字符串       <BR>样例       <BR>(decimalToBase 16 250)

maomao2004 发表于 2005-6-7 12:06:00

好东西,回去看看,学习

无痕 发表于 2005-6-8 13:03:00

2楼的帖子在xdcad看见aeo贴过,如果我没有记错的话

龙龙仔 发表于 2005-6-8 16:02:00

无痕发表于2005-6-8 13:03:00static/image/common/back.gif2楼的帖子在xdcad看见aeo贴过,如果我没有记错的话

<BR>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3>如果我没有记错的话,明经上有</FONT>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><A href="http://www.mjtd.com/function/index.html" target="_blank" >http://www.mjtd.com/function/index.html</A></FONT>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3>据我所知,真正的出处</FONT>


citykunan 发表于 2005-6-9 20:24:00

龙版主真是见多识广啊。

pengfei2010 发表于 2017-10-25 19:50:20

回帖是一种美德!感谢楼主的无私分享 谢谢
页: [1]
查看完整版本: 二进制转十进制的程序