r - 编写一个程序,从以 10 为底的数字 x 到 R 中以 16 为底的数字的向量

标签 r algorithm hex radix

hexadecimal1 <- function(x) {

y <- integer(0)

   while (x >= 16) {
   r <- x%%16
   x <- x%/%16
   y <- c(r, y)
   if(r==10) { r<- "A"}
   if(r==11) { r<- "B"}
   if(r==12) { r<- "C"}
   if(r==13) { r<- "D"}
   if(r==14) { r<- "E"}
   if(r==15) { r<- "F"}
   } 
y <- c(x, y)
y
}

我应该编写一个算法,在向量中给出十六进制数。我当前的算法实际上有效但显示 10,11,12,13,14,15 而不是 A,B,C,D,E,F... 知道如何使用这些字母而不是 10、11 ...... 预先感谢您的帮助。

最佳答案

与其给你一个工作算法,不如给你一个调试工具:

将你的函数改成这样:

hexadecimal1 <- function(x) {
  browser()
  y <- integer(0)

  while (x >= 16) {
    r <- x%%16
    x <- x%/%16
    y <- c(r, y)
    if(r==10) { r<- "A"}
    if(r==11) { r<- "B"}
    if(r==12) { r<- "C"}
    if(r==13) { r<- "D"}
    if(r==14) { r<- "E"}
    if(r==15) { r<- "F"}
  } 
  y <- c(x, y)
  y
}

接下来,调用:hexadecimal1(31)

要弄清楚下一步要做什么,请输入 help,然后按 Enter。

提示:键入 n,然后按 Enter。

为了简化操作,请在 RStudio 中执行此操作,并注意右上方 Pane 中的“环境”选项卡。

关于r - 编写一个程序,从以 10 为底的数字 x 到 R 中以 16 为底的数字的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224206/

相关文章:

algorithm - Haskell - 如何避免混淆 IO

java - 将唯一点映射到唯一整数索引

mongodb - Top-K排序算法在MongoDB中是如何工作的

C中字符串格式的十六进制数转换为0xFFFF格式的wchar_t类型

r - 忽略选定索引后查找一行中前 n 个元素的索引

c++ - 在 shinyapp.io 的 R Shiny 应用程序中使用 C++ 编译代码

java - 将 int 转换为十六进制字符串,而不使用 Integer.toHexString();

java - 将字符串 Mac 地址转换为十六进制

arrays - R中数组的简单子(monad)集选择

r - 如何根据 R 中引用其他列的一列的值创建多个计算列?