首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数字转换为基-2(二进制)字符串表示形式

将数字转换为基-2(二进制)字符串表示形式
EN

Stack Overflow用户
提问于 2013-12-13 14:17:30
回答 1查看 2.5K关注 0票数 5

我想把一个数字转换成二进制字符串,例如(到-二进制11) -> "1011“。

我已经找到了一种转换为十六进制和oct的方法:

代码语言:javascript
运行
复制
(format "%x" 11) -> "B"
(format "%o" 11) -> "13"

但是二进制文件显然没有格式字符串("%b“给出了一个错误)。

相反,转换很简单:(字符串到数字"1011“2) -> 11。

还有其他的库函数可以这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-13 22:49:01

虽然我同意这是一个重复的功能,如果你想知道如何在Emacs中做位旋转,你可以在按位运算上阅读手册。这可能导致这样的实现:

代码语言:javascript
运行
复制
(defun int-to-binary-string (i)
  "convert an integer into it's binary representation in string format"
  (let ((res ""))
    (while (not (= i 0))
      (setq res (concat (if (= 1 (logand i 1)) "1" "0") res))
      (setq i (lsh i -1)))
    (if (string= res "")
        (setq res "0"))
    res))
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20568684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档