以8为基数还是以2^8为基数


英文书上有句话这么说:
请输入图片描述

中文书翻译成了


 ......以2^8为基数.....

是不是翻译错了?

你们的意思是256,那我问你们,这本书后面还有一句话,请问这句话是什么意思?


 可以对一个64位的整数,按4位以2^16为基数的值进行排序

排序 算法

组成躯干和手臂 10 years, 4 months ago

蓝底白字,原文就是这么写的,没错

HAPPY! answered 10 years, 4 months ago

没有错误。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

Your Answer