【发布时间】:2017-10-15 22:00:25
【问题描述】:
我想将十进制数转换为十六进制格式,只设置与该十进制数对应的位。例如,对于输入 0,应设置位 0 并导致
> paste("0x", sprintf("%032x",2^(0)),sep="")
[1] "0x00000000000000000000000000000001"
对于 1,应该设置第 1 位,导致
> paste("0x", sprintf("%032x",2^(1)),sep="")
[1] "0x00000000000000000000000000000002"
这有效到 30
> paste("0x", sprintf("%032x",2^(30)),sep="")
[1] "0x00000000000000000000000040000000"
但不适用于大于该值的值
> paste("0x", sprintf("%032x",2^(32)),sep="")
Error in sprintf("%032x", 2^(32)) :invalid format '%032x'; use format %f, %e, %g or %a for numeric objects
知道如何解决这个问题吗?
【问题讨论】:
标签: r