找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 463|回复: 1

[教学] 移位操作-进制转换

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2019-10-24 16:14:32 | 显示全部楼层 |阅读模式

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

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

×
C++的移位操作
https://www.cnblogs.com/linkenpark/p/10935226.html
用 Autolisp 翻译如下:
转二进制

  1. (defun tobin (n / l i str)
  2.   (setq        i   0
  3.         str ""
  4.   )
  5.   (while (< i 32)
  6.     (setq l   (logand n (lsh 1 (- 31 i)))
  7.           l   (lsh l (- i 31))
  8.           str (strcat str
  9.                       (if (zerop l)
  10.                         "0"
  11.                         "1"
  12.                       )
  13.               )
  14.           i   (1+ i)
  15.     )
  16.   )
  17.   str
  18. )


十进制整数转十六进制

  1. (defun tohex (n / str i l )
  2.   (if (> n 65535)
  3.     (setq str "0x"
  4.           i   0
  5.     )
  6.     (setq str ""
  7.           i   4
  8.     )
  9.   )
  10.   (while (< i 8)
  11.     (setq l   (lsh (lsh n (* 4 i)) -28)
  12.           l   (if (>= l 0)
  13.                 l
  14.                 (+ l 16)
  15.               )
  16.           str (strcat str
  17.                       (chr (if (< l 10)
  18.                              (+ l 48)
  19.                              (+ l 55)
  20.                            )
  21.                       )
  22.               )
  23.           i   (1+ i)
  24.     )
  25.   )
  26.   str
  27. )



Autolisp 中的逻辑运算包括 logand logior lsh,其中

logand 等同于 C/C++ 中的  & (and 与)
logior 等同于 C /C++  中的  | (or 或)
lsh 就是 C/C++  中的 >> 和  << ,如果numbits为正,int将向左移动;如果numbits为负,int将向右移动。在这两种情况下,零位被移入,移出的位被丢弃。

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

已领礼包: 5295个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 16:49 , Processed in 0.349960 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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