【发布时间】:2011-07-07 16:59:51
【问题描述】:
在 R 中将数字转换为基数 2(在字符串中,例如 5 将转换为 "0000000000000101")的最简单方法是什么?有intToBits,但它返回的是字符串向量而不是字符串:
> intToBits(12)
[1] 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[26] 00 00 00 00 00 00 00
我尝试了其他一些功能,但没有成功:
> toString(intToBits(12))
[1] "00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00"
【问题讨论】:
-
intToBitsnot 返回字符串向量。它返回一个原始向量。请注意,向量有 32 个元素。这是每个位的一个元素(因为 R 使用 32 位整数)。我想不出将数字表示为位字面串有用的情况......你想做什么? -
我正在研究一些密码分析的例子,很高兴能够将密钥显示为位序列、“011010110”等。
-
@DWin:它实际上在 Debian 中被列为“GNU R 统计计算和图形系统”,并且项目页面说它是一个 GNU 项目,这就是我称之为 GNU R 的原因。不是我对这些东西很挑剔——我习惯说“GNU R”来帮助消除歧义(在 Google 上搜索“R”并没有什么用处)。
-
看到它被称为 GNU R 让 R Core 很恼火。由于他们是作者,我认为他们拥有最终决定权。并且在 GNU R 上搜索会错过网络上的大部分内容。使用“r-project”作为术语或使用 RSiteSearch() 或 rseek 作为搜索引擎。有些人报告说,将“r:language”作为 Google 术语取得了成功。
-
@42- 运气不好。如果它惹恼了核心作者,他们不应该将其列为 GNU 项目。然而他们做到了,并继续在官方网站上这样做。
标签: r