R 编程十进制数据如何转化为二进制? |
您所在的位置:网站首页 › 68二进制转十进制 › R 编程十进制数据如何转化为二进制? |
在 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 |