Степен двојке
У математици, степен двојке означава број форме 2n где је n цео број, тј. резултат степеновања бројем два као базом и целим бројем n као експонентом. У контексту у ком се разматрају само цели бројеви, n је ограничен на не-негативне вредности,[1] тако да имамо 1, 2, и 2 помножене самим собом одређени број пута.[2] Због тога што је два основа у систему бинарних бројева, степен двојке је чест у рачунарској науци. Записан у бинарном облику, степен двојке увек има форму 100…000 или 0.00…001, баш као и степен десетке у децималном систему. Изрази и једначинеВербални изрази, математичке ознаке, и изрази рачунарског програмирања користе степен двојке или функцију укључујући:
Рачунарска наукаДва на степен n, написано као 2n, је број начина на који се битови у бинарном систему дужине n могу организовати. Реч, тумачена као неозначен цео број, може бити представљена вредностима од 0 (000…000) до 2n − 1 (111…111) закључно. Одговарајућа целобројна вредност може бити позитивна, негативна или нула; види представе означених бројева. У сваком случају, један мање од степена двојке је често горња граница целих бројева код бинарних рачунара. Као последица, бројеви ове форме се често појављују у рачунарском софтверу. На пример, видео игрица покренута на 8-битном систему може ограничити резултат или број предмета које играч може носити на 255— резултат коришћења бајта, који је дугачак 8 бита, да сачува број, дајући максималну вредност 28 − 1 = 255. На пример, у делу Легенда о Зелди, главни лик је ограничен да чува 255 рупија (валута у игрици) у било ком тренутку, док се видео игра Пек-Мен чувено гаси на нивоу 255. Степен двојке се користи за мерење рачунарске меморије. Бајт сада садржи осам бита (октет, као резултат могућности 256 вредности (28). (Израз бајт је некад значио (и у неким случајевима још увек значи) скуп битова, уобичајено 5 до 32 бита, пре него само 8-битних јединица.) Префикс кило, у вези са бајтом, може бити, и одувек је био, коришћен као 1,024 (210). Међутим, уопште, израз кило је био коришћен у Међународном систему јединица у значењу 1,000 (103). Бинарни префикси су били стандардизовани, као што киби (Ki) значи 1,024. Скоро сви процесорски регистри имају величину степена двојке, 32 или 64 су најчешћи. Степен двојке се појављује на другим местима такође. За многе дискове, барем једна величина сектора, број сектора по стази, и број стаза по површини диска је степен двојке. Величина логичког блока је скоро увек степен двојке. Бројеви који нису степен двојке се појављују у многим ситуацијама, као што су видео резолуције, али су они често збир или производ само два или три степена двојке, или степен двојке минус један. На пример, 640 = 512 + 128 = 128 × 5, и 480 = 32 × 15. На други начин, они имају прилично уобичајене шаблоне битова.
Мерсенови прости бројевиСлично, прост број (као 257) који је за један већи од позитивног степена двојке се назива Фермаов прост број — сам експонент је степен двојке. Разломак који има степен двојке као делилац се назива двојни разломак. Бројеви који могу бити представљени као збирови узастопних позитивних целих бројева се називају углађени бројеви; они су заправо бројеви који нису степен двојке. Прост број који је за један мањи од степена двојке се зове Мерсенов прост број. На пример, прост број 31 је Мерсенов прост број зато што је за 1 мањи од 32 (25).
Еуклидови елементи, 9. књигаГеометријска прогресија 1, 2, 4, 8, 16, 32, … (или, у бинарном бројевном систему 1, 10, 100, 1000, 10000, 100000, … ) је важна у теорији бројева. 9. књига, 36. предлог Елемената доказује да ако је сума првих n чланова ове прогресије прост број (значи, Мерсенов прост број поменут изнад), онда ова сума помножена n-тим чланом је савршен број. На пример, сума првих 5 чланова низа 1 + 2 + 4 + 8 + 16 = 31, који је прост број. Сума 31 помножена са 16 (5. члан низа) је једнака 496, који је савршен број. 9. књига, 35 Предлог, доказује да ако је у геометријском низу први члан одузет од другог и последњег члана низа, онда је вишак другог први—тако да је вишак последњег све оно пре њега. (Ово је преправка наше формуле за геометријски низ изнад.) Примењујући ово на геометријску прогресију 31, 62, 124, 248, 496 (која резултује од 1, 2, 4, 8, 16 множењем свих чланова до 31), видимо да 62 минус 31 је 31 као и 496 минус 31 је збир 31, 62, 124, 248. Стога, бројеви 1, 2, 4, 8, 16, 31, 62, 124 и 248 додати до 496 и даље су сви ови бројеви деле број 496. Под претпоставком да p дели број 496 и није међу овим бројевима. Претпоставимо да су p q једнаки 16 × 31, или да је 31 q, а p 16. Сада p не може да дели 16 или би било међу бројевима 1, 2, 4, 8 или 16. Стога, 31 не може да дели q. И како 31 не дели q и q је 496, основна теорема аритметике имплицира да q мора да дели 16 и да буде међу бројевима 1, 2, 4, 8 или 16. Нека q буде 4, онда p мора бити 124, што је немогуће с обзиром на то да хипотеза p није међу бројевима 1, 2, 4, 8, 16, 31, 62, 124 или 248. Првих 96 степена двојке
Може се видети да је почетак од 2 последње цифре периодичан са периодом 4, са циклусом 2–4–8–6–, а почетак са 4 последње цифре периодичан са периодом 20. Ови обрасци важе генерално за било који степен, у односу на било коју базу. Образац се наставља, наравно, где је полазна тачка сваког обрасца 2k, а период је мултипликативна група реда 2 модула 5k, што је φ(5k) = 4 × 5k−1 (види Мултипликативна група целих бројева модула n).
Степен 1024Првих неколико степена 210 су мало виши од ових од 1000:
Види још ИEEE 1541-2002. Степен двојке чији је експонент степен двојкеПошто су подаци (посебно цели бројеви) и адресе података складиштени у истом хардверу, а подаци су складиштени у једном или више октета (23), дупли експоненти двојке су чести. На пример,
Неки од ових бројева представљају број вредности представљених коришћењем заједничких рачунарских врста података. На пример, 32-битна реч садржи 4 бита и може бити представљена 232 различитим вредностима које могу бити сматрани као само бит-образсци, или се чешће тумаче као неозначени бројеви од 0 до 232 − 1, или као опсег означених бројева између −231 и 231 − 1. Види јоште тетратион и ниже хипероперације. За више детаља о означеним бројевима погледајте комплемент двојке. У вези са нимберима ови бројеви се често називају Фермаови 2-степени бројеви. Бројеви формирају ирационални низ: за сваки низ позитивних целих бројева, низ конвергира до ирационалног броја. Упркос брзом порасту овог низа, он најспорије расте у ирационалност од свих познатих низова.[3] Неки одабрани степени двојке
Брзи алгоритам за проверу да ли је позитиван број степен двојкеБинарно представљање целих бројева омогућава брзу проверу ради утврђивања да ли је неки дати позитиван цео број x степен двојке:
где је & битовска логичка ЕНД операција. Приметимо да ако је x 0, ово погрешно указује на то да је 0 степен двојке, тако да ова провера важи само за x > 0. Примери:
Доказ концепта: Доказ користи технику контрадикторне изјаве. Изјава С: Ако је x&(x-1) = 0 и x је цео број већи од нуле онда је x = 2k (где је k цео број такав да је k>=0). Контрадикторан концепт: С1: P -> Q је исто као и С2: ~Q -> ~P У пређашњим изјавама С1 и С2 ове су контрадикторне у односу једна на другу. Тако да се изјава С може преправљати као испод С': Ако је x позитиван цео број и x ≠ 2k (k је неки не-негативни цео број) онда је x&(x-1) ≠ 0 Доказ: Ако је x ≠ 2k онда најмање два бита x-а су сетови. (Претпоставимо да су m битови сет.) Сада, бит образац x - 1 се може добити инвертовањем свих битова x-а до првог сета бита х-а (почевши од НЗБ и настављајући ка НЗБ, овај сет инклузивног бита). Сада, претпоставимо да израз x & (x-1) има све нуле битова до првог сета х-а и како x & (x-1) има исто преосталих битова као x и x има најмање два сета битова отуда је исказ x & (x-1) ≠ 0 тачан. Брзи логаритам за налажење модула броја степена двојкеКао горе наведено уопштавање, бинарна представа целих бројева омогућава израчунавање модула не-негативног целог број (x) са степеном двојке (y) веома брзо:
где је & битовска логичка ЕНД операција. Ово заобилази потребу да се изврши скупоцена подела. Ово је корисно ако је модуо операције значајна део извршавања критичне путање, јер то може бити много брже од обичног модуо оператора. Алгоритам за проналажење степена двојке најближег бројуСледећа формула налази најближи степен двојке, на логаритамског скали, за дату вредност x > 0: Ово би требало да се разликује од најближег степена двојке на линеарној скали. На пример, 23 је ближе броју 16 од броја 32, али претходна формула заокружује на 32, одговарајући на чињеницу да је 23/16 = 1.4375, веће од 32/23 = 1.3913.
Ако је x целобројна вредност, следећи кораци се могу користити да проналажење најближе вредности (у односу на стварне вредности пре него на бинарни логаритам) у рачунарском програму:
Алгоритам за проналажење степена двојке већег или једнаког бројуПонекад је потребно наћи последњи степен двојке који није мањи од конкретног целог броја, n. Псеудокод алгоритма за израчунавање следећег већег степена двојке је следећи. Ако је унос степен двојке, вратиће се непромењен.[8] n = n - 1;
n = n | (n >> 1);
n = n | (n >> 2);
n = n | (n >> 4);
n = n | (n >> 8);
n = n | (n >> 16);
...
n = n | (n >> (bitspace / 2));
n = n + 1;
Где је | бинарни или оператор, >> је бинарни оператор за померање удесно, а бит размак је величине (у битовима) целобројног размака представљеним n-ом. За много рачунарских архитектура, ова вредност је такође или 8, 16, 32 или 64. Овај оператор ради постављањем свих битова на десну страну најзначајнијег обележеног бита до 1, а затим се повећава целокупна вредност на крају тако да долази до ''превртања” до најближег степена двојке. Пример сваког корака овог алгоритма за број 2689 је следећи:
Као што је горе приказано, алгоритам враћа тачну вредност 4,096. Најближи степен 2,689 је 2,048; међутим, алгоритам је креиран да даје само следећи највећи степен двоје датог броја, не најближи. Други начин за добијање 'следећег највећег' степен двојке датог броја независног од дужине бит размака је следећи. unsigned int get_nextpowerof2(unsigned int n)
{
/*
* Below indicates passed no is a power of 2, so return the same.
*/
if (!(n & (n-1))) {
return (n);
}
while (n & (n-1)) {
n = n & (n-1);
}
n = n << 1;
return n;
}
Брзи алгоритам за заокруживање било ког целог броја до вишеструког датог степена двојкеЗа било који цео број, x и интеграл степена двојке, y, ако је z = y - 1,
x до вишеструког y. Друге особинеЗбир свих n-одабраних биномних коефицијената је једнак 2n. Размотримо скуп свих бинарних целобројних n-цифара. Његова кардиналност је 2n. То је такође збир кардиналности одређених подскупова: подскуп целих бројева без јединица (који се састоје од само једно броја, написаног као n 0-е), подскуп са са само једном 1, поскуп са две 1-ице, и тако даље до подскупа са n 1-ица (који се састоји од броја написаног као n 1-јединица). Сваки од ових је једна биномном коефицијенту индексираном са n и број од 1-ица је размотрен (тј., постоји 10-избор-3 бинарних бројева са десет цифара који укључују тачно три 1-ице).
Број темена једног n-димензионалног хиперкуба је 2n. Слично томе, број (n − 1)-лица n-димензионалног унакрсног политопа је такође 2n и формула за број x-лица n-димензионалног унакрсног политопа је . Збир реципрочних бројева степена двојке је 2. Збир реципрочних бројева степена двојке на квадрат је 1/3. Види још
Референце
Литература
Спољашње везе
|