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/