以8为基数还是以2^8为基数
英文书上有句话这么说:
中文书翻译成了
......以2^8为基数.....
是不是翻译错了?
你们的意思是256,那我问你们,这本书后面还有一句话,请问这句话是什么意思?
可以对一个64位的整数,按4位以2^16为基数的值进行排序
组成躯干和手臂
10 years, 4 months ago
Answers
没有错误。2^8=256。
这是基数排序吧?对字符串进行排序的话,一次在一个字符的位置上进行排序,从低位向高位进行,这样更直观。毕竟8比特正好是一个字节嘛。
为啥一个64位的整数可以按4位以2^16为基数的值进行排序?你可以把它的bits平均分成四段,比如10110110 2 ,分成10 11 01 10(这里以8为数为例,64位太长)。先拿10跟其他数比,再用01,然后是11……
当然也可以分成1011 0110两段。甚至10110110一段也行。这就要看你怎么考察内存、缓存占用来选最优分配方式了。
文中说的是“可以”,不是“必须”。
妮妮的兔娃
answered 10 years, 4 months ago