找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 917|回复: 6

[其他]:二进制、八进制、十六进制

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-30 00:45:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1" height="498">
  2.   <tr>
  3.     <td width="100%" height="489">
  4.       <iframe name="I1" width="100%" height="100%" src="http://www.bcbschool.com/newls/ls06.htm#6.2.7">
  5. 浏览器不支持嵌入式框架或配置为不显示嵌入式框架
  6.       </iframe>
  7.     </td>
  8.   </tr>
  9. </table>
复制代码

16进制字串转10进制数

  1. (defun $hex->num (str / $texta m n c)
  2.   (defun $testa        (s)
  3.     (cond
  4.       ((= (strcase s) "A") 10)
  5.       ((= (strcase s) "B") 11)
  6.       ((= (strcase s) "C") 12)
  7.       ((= (strcase s) "D") 13)
  8.       ((= (strcase s) "E") 14)
  9.       ((= (strcase s) "F") 15)
  10.       (t (read s))
  11.     )
  12.   )
  13.   (setq        n (strlen str)
  14.         m n
  15.         c 0
  16.   )
  17.   (repeat n
  18.     (setq c (+ c (* ($testa (substr str 1 1)) (expt 16 (1- m)))))
  19.     (setq str (substr str 2))
  20.     (setq m (1- m))
  21.   )
  22.   c
  23. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-7-30 07:56:53 | 显示全部楼层
十进-->其他

  1. (defun BASE (bas int / ret yyy zot)
  2.   (defun zot (i1 i2 / xxx)
  3.     (if (> (setq xxx (rem i2 i1))
  4.            9
  5.         )
  6.       (chr (+ 55 xxx))
  7.       (itoa xxx)
  8.     )
  9.   )
  10.   (setq ret (zot bas int)
  11.         yyy (/ int bas)
  12.   )
  13.   (while (>= yyy bas)
  14.     (setq ret (strcat (zot bas yyy) ret))
  15.     (setq yyy (/ yyy bas))
  16.   )
  17.   (strcat (zot bas yyy) ret)
  18. )


(base 16 14)
"0E"

(base 16 10)
"0A"

(base 2 17)
"10001"

(base 2 30)
"11110"
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-6 21:48:08 | 显示全部楼层
如果一个十六进制数减一,如123A-1,一定要把123A转成十进制数才可以吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2003-8-6 22:57:56 | 显示全部楼层
最初由 闲云 发布
[B]如果一个十六进制数减一,如123A-1,一定要把123A转成十进制数才可以吗? [/B]

Lisp中要转换,计算器中不用:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-7 10:30:49 | 显示全部楼层
那比如我要得到前一个图元名的话,需转成十进制数后减一,再转成十六进制数,是这样吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2003-8-7 14:06:10 | 显示全部楼层
最初由 闲云 发布
[B]那比如我要得到前一个图元名的话,需转成十进制数后减一,再转成十六进制数,是这样吗? [/B]

你说的要用句柄而不是图元名。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-7 17:07:48 | 显示全部楼层
用Lisp来完成这事也挺烦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 15:58 , Processed in 0.176022 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表