R 编程十进制数据如何转化为二进制?

您所在的位置:网站首页 68二进制转十进制 R 编程十进制数据如何转化为二进制?

R 编程十进制数据如何转化为二进制?

#R 编程十进制数据如何转化为二进制?| 来源: 网络整理| 查看: 265

在 R 语言中,可以使用 intToBits() 函数将十进制整数转换为二进制。例如,要将十进制整数 12 转换为二进制,可以使用以下代码:

intToBits(12)

这将返回一个长度为 32 的原始向量,其中每个元素都是 0 或 1。您可以使用 paste() 函数将其转换为一个字符串:

paste(rev(as.integer(intToBits(12))), collapse = "")

这将返回字符串 “1100”,它是数字 12 的二进制表示。

将数字 5 转换为二进制:

paste(rev(as.integer(intToBits(5))), collapse = "")

这将返回字符串 “101”,它是数字 5 的二进制表示。

将数字 17 转换为二进制:

paste(rev(as.integer(intToBits(17))), collapse = "")

这将返回字符串 “10001”,它是数字 17 的二进制表示。

将数字 255 转换为二进制:

paste(rev(as.integer(intToBits(255))), collapse = "")

这将返回字符串 “11111111”,它是数字 255 的二进制表示。

intToBits() 函数的原理是将给定的整数转换为其二进制表示形式。它通过将整数除以 2 并获取余数来实现这一点。然后,将余数存储在结果向量中,并将商用作下一次迭代的输入。这个过程一直持续到商为零为止。

例如,要将数字 12 转换为二进制,可以执行以下步骤:

将 12 除以 2 得到商 6 和余数 0。

将余数 0 存储在结果向量中。

将商 6 用作下一次迭代的输入。

将 6 除以 2 得到商 3 和余数 0。

将余数 0 存储在结果向量中。

将商 3 用作下一次迭代的输入。

将 3 除以 2 得到商1和余数1。

将余数1存储在结果向量中。

将商1用作下一次迭代的输入。

最后,将1除以2得到商0和余数1。

最终结果向量是 [0,0,1,1],但是我们需要将其翻转才能得到正确的二进制表示 “1100”。

paste() 函数将二进制向量转换为字符串。paste() 函数用于将多个字符串连接在一起,可以使用 collapse 参数指定分隔符。使用了as.integer() 函数将原始向量转换为整数向量,以便可以使用 paste() 函数将其连接在一起。最后使用 rev() 函数来翻转向量中的元素顺序,因为 intToBits() 函数返回的二进制向量是从低位到高位排列的(和解释的原理一样)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3