Объяснение Рабину Карпу из CLRS

#algorithm #clrs #rabin-karp

#алгоритм #clrs #рабин-карп

Вопрос:

Я читал Rabin Karp алгоритм из Introduction To Algorithms . Все имеет смысл, за исключением следующего.

 In general, with a d-ary alphabet {0, 1, . . ., d - 1}, we choose q so
that dq fits within a computer word
  

Я не понимаю, что такое computer word и каково значение подгонки dq within a computer word в контексте этого алгоритма.

Я где-то читал, что это что-то связанное с математикой с одинарной точностью, но я тоже не понимаю single-precision math .

Кто-нибудь может разобрать эти термины? Спасибо.

Комментарии:

1. A computer word — неоднозначный термин, он может означать байт, но он также может означать (и я думаю, что здесь это правильный смысл) processor word , который представляет размер слова процессора (обычно 32 или 64 бита). Одинарная точность обычно относится к float типу, в отличие от двойной точности, называемому double . В первом случае эти термины действительно зависят от аппаратного обеспечения, во втором — от реализации и языка.

Ответ №1:

Слово — это стандартный «тип», с которым имеет дело ваш компьютер.

На практике слово соответствует 64 битам (32 бита для старых компьютеров).