Skip to main content

Бинарни логаритам Садржај Примена Коришћење калкулатора Алгоритам Види још Референце Литература Мени за навигацијупобољшајте

Бинарна аритметикаКалкулусЛогаритми











(function()var node=document.getElementById("mw-dismissablenotice-anonplace");if(node)node.outerHTML="u003Cdiv class="mw-dismissable-notice"u003Eu003Cdiv class="mw-dismissable-notice-close"u003E[u003Ca tabindex="0" role="button"u003Eсакријu003C/au003E]u003C/divu003Eu003Cdiv class="mw-dismissable-notice-body"u003Eu003Cdiv id="localNotice" lang="sr" dir="ltr"u003Eu003Cdiv style="position:relative; overflow:hidden; background-color:#5E9DC8; text-align:center; color:white; font-size:1.2em; font-weight:bold; line-height:1.5em; margin-top: 5px;"u003Eu003Cuu003Eu003Ca href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A3%D1%80%D0%B5%D1%92%D0%B8%D0%B2%D0%B0%D1%87%D0%BA%D0%B8_%D0%BC%D0%B0%D1%80%D0%B0%D1%82%D0%BE%D0%BD_-_%D1%81%D0%BF%D0%BE%D1%80%D1%82" title="Википедија:Уређивачки маратон - спорт"u003Eu003Cspan style="color:white"u003EУчествујте у уређивачком маратону на тему спорта 11. јуна!u003C/spanu003Eu003C/au003Eu003C/uu003Eu003C/divu003Eu003C/divu003Eu003C/divu003Eu003C/divu003E";());




Бинарни логаритам




Из Википедије, слободне енциклопедије






Иди на навигацију
Иди на претрагу






график log2n


У математици, бинарни логаритам (log2 n) је логаритам са основом 2. То је инверзна функција функцији n ↦ 2n.. Бинарни логаритам n је степен на који број 2 мора бити подигнут да би достигао вредност n. Ово чини бинарни логаритам корисним за све што укључује степене двојке, односно дуплирања. На пример, бинарни логаритам од 1 је 0, бинарни логаритам од 2 је 1, бинарни логаритам од 4 је 2, бинарни логаритам од 8 је 3, бинарни логаритам од16 је 4 и бинарни логаритам од 32 је 5.






Садржај





  • 1 Примена

    • 1.1 Информатика


    • 1.2 Рачунарска комплексност


    • 1.3 Сингл елиминациони турнири



  • 2 Коришћење калкулатора


  • 3 Алгоритам

    • 3.1 Интеџер


    • 3.2 Реалан број



  • 4 Види још


  • 5 Референце


  • 6 Литература




Примена



Информатика


Бинарни логаритам се често користи у информатици, јер је уско повезан са бинарним системом бројева. Често се написано ld n, од латинског logarithmus duālis, или lg n, иако је ИСО системом предвиђено lb (n), lg (n) се користи за log10n. Број цифара, бита, у бинарном запису представља позитиван цео број од n од 1 + lb n, .


⌊lbn⌋+1.displaystyle lfloor operatorname lb ,nrfloor +1.,

У информатичкој теорији, дефинисање износа Само-информација и информациона ентропија укључује бинарни логаритам; ово је потребно јер јединица информације, бит, се односи на информације настале од појаве једног од два једнако вероватних догађаја.



Рачунарска комплексност


Бинарни логаритам се такође често појављује у анализи алгоритама. Ако се број n већи од 1 подели два пута уѕастопно са 2 , број итерација потребних да би достигао вредност највише до 1 је поново интеграљен део lb n . Ова идеја се користи у анализи неколико алгоритма а и структури података. На пример , величина проблема које треба решити је преполовљена са сваком итерацијом , и стога је потребно отприлике lb n итерација за добијање проблема величине 1 , који се лако решавају. Слично томе , савршено избалансиран n који садржи елементе је величина lb n + 1 .


Међутим , време рада алгоритма се обично изражава у Биг О нотацији , игноришући сталне факторе. Пошто log2n = (1/logk 2)logk n, где к може бити било који број већи од 1, алгоритама који раде у O(log2 n) време може се такође рећи да ради , рецимо , O(log13 n) времена. База логаритма у изразима као што су
O(log n) или O(n log n) тога није важна .


У другим контекстима , мада , база логаритма мора бити наведена. На пример O(2lb n) није исто што и O(2ln n) јер је први једнак O(n) а други O(n0.6931...)


Алгоритми са текућом времена n lb n се понекад назива линеаран. Неки примери алгоритама са текућим временом O(lb n) или O(n lb n) су:


  • average time quicksort

  • binary search trее

  • merge sort

  • Monge array calculation


Сингл елиминациони турнири


У такмичарским играма и спортовима који укључују два играча / тима у свакој игри / мечу , бинарни логаритам означава број рунди неопходних у тим у циљу утврђивања победника. На пример , турнир од 4 играча захтева lb ( 4 ) или 2 кола за одређивање победника , турнир од 32 тима захтева lb ( 32) метака , што је 5 метака , итд. У овом случају , за n играча/ тимова где n није степен двојке , lb ( n) се заокружује, јер ће бити неопходно да имају најмање један круг у коме сви преостали такмичари играју. На пример , lb ( 6 ) је око 2.585 , заокружен , указује да турнир од 6 захтева 3 рунде ( или ће 2 тима ће одседети прву рунду , или један тим ће седети током другог круга ) .



Коришћење калкулатора


Једноставан начин за израчунавање log2(n) на калкулатору а да немају функцију log2 је да користите природни логаритам " ln " или заједнички логаритам " log " функције , које се налазе на већини „озбиљнијих калкулатора ". Класичне формуле за промену логаритамске основе су:


log2(n) = ln(n)/ln(2) = log(n)/log(2)

па


log2(n) = loge(n)×1.442695... = log10(n)×3.321928...


и то поставља питање да ли је log2(n)у оквиру 0,6% loge(n) + log10(n). loge(n)+log10(n) је заправо log2.0081359...(n) где је основаe1/(1+log10e) = 101/(1 + loge10) ≈ 2.00813 59293 46243 95422 87563 25191 0 to (32 significant figures). Наравно, log1010 = logee = 1.





Алгоритам



Интеџер


За цео домен и опсег, бинарни логаритам се може израчунати заокруживањем горе или доле. Ова два облика интеџер бинарног логаритма се односе према овој формули



⌊log2⁡(n)⌋=⌈log2⁡(n+1)⌉−1, if n≥1.displaystyle lfloor log _2(n)rfloor =lceil log _2(n+1)rceil -1,text if ngeq 1. [1]

Дефиниција се може продужити дефинисањем ⌊log2⁡(0)⌋=−1displaystyle lfloor log _2(0)rfloor =-1. Ова функција се односи и на број главних нула неодрађеног 32-битног бинарног приказа x, nlz(x).



⌊log2⁡(n)⌋=31−nlz⁡(n).displaystyle lfloor log _2(n)rfloor =31-operatorname nlz (n).[1]

Овај бинарни логаритам се може тумачити као индекс 0 најзначајнијег бита 1 у улазу. У том смислу је комплемент проналазак први сет операције , која проналази индекс најмање значајног бита 1.





Реалан број


За општи позитиван реалан број, бинарни логаритам се може израчунати у два корака :


  1. Израчунати део ⌊lb⁡(x)⌋displaystyle lfloor operatorname lb (x)rfloor

  2. Израчунати разломак

За било које x > 0, постоји јединствен цео број n , такав да 2n ≤ x < 2n+1, односно 1 ≤ 2−nx < 2. Сада је интеџер део логарима само n, а раѕломачки део lb(2−nx). Другим речима:


lb⁡(x)=n+lb⁡(y)where y=2−nx and y∈[1,2)displaystyle operatorname lb (x)=n+operatorname lb (y)quad textwhere y=2^-nxtext and yin [1,2)

Разломачки део резултата је lb⁡ydisplaystyle operatorname lb y, а може се израчунати користећи најосновније множење и дељење.


Да бисте израчунали разломачки део :


  1. Почињемо са реалним бројем y∈[1,2)displaystyle yin [1,2). Ако је y=1displaystyle y=1, онда смо завршили и разломачки део је нула.

  2. У супротном , квадрирамо ydisplaystyle y бише пута док резултат не постане z∈[2,4)displaystyle zin [2,4). Нека је mdisplaystyle m број потребних степеновања. То ѕначи да је, z=y2↑mdisplaystyle z=y^2uparrow m са mdisplaystyle m изабран тако да z∈[2,4)displaystyle zin [2,4)

  3. Логаритмовањем обе стране и рачунањем добијамо
    lbz=2mlbylby=lb⁡z2m=1+lb⁡(z/2)2m=2−m+2−mlb⁡(z/2)displaystyle beginalignedoperatorname lb ,z&=2^moperatorname lb ,y\operatorname lb ,y&=frac operatorname lb z2^m\&=frac 1+operatorname lb (z/2)2^m\&=2^-m+2^-moperatorname lb (z/2)endaligned

  4. Приметимо да је z/2displaystyle z/2 поново реални број у интервалу [1,2)displaystyle [1,2).

  5. Вратимо се на први корак и израчунајмо бинарни логаримтам од z/2displaystyle z/2 користећи ову методу.

Резултат тога је изражен следећим формулама , у којима midisplaystyle m_i број квадрирања потербан за i-ту рекурзију логаритма


lbx=n+2−m1(1+2−m2(1+2−m3(1+⋯)))=n+2−m1+2−m1−m2+2−m1−m2−m3+⋯displaystyle beginalignedoperatorname lb ,x&=n+2^-m_1left(1+2^-m_2left(1+2^-m_3left(1+cdots right)right)right)\&=n+2^-m_1+2^-m_1-m_2+2^-m_1-m_2-m_3+cdots endaligned

У посебном случају када је разломачки део у кораку један нула, ово је ограничена секвенца која се завршава у једном тренутку. У супротном , то је бесконачно серија која конвергира, јер је сваки део строго мањи од претходног (јер сваки mi>0displaystyle m_i>0). У пракси, ова серија се мора скратити до приблињног резултата. Ако је серија смањена пре 'i-тог дела, онда је грешка у резултату мања од 2−(m1+m2+⋯+mi)displaystyle 2^-(m_1+m_2+cdots +m_i).


Срећом , у пракси можемо да урадимо обрачуне и знамо грешке без икаквог рачунања. Претпоставимо да желимо израчунати log of 1.65 са четири бинарне цифре. Поновите ове кораке четири пута :


  1. Квадрирајте број

  2. Ако је квадрат > = 2 , то поделите са два и пишите 1. у супротном, написати 0.

Бројеви које смо написали је заправо логаритам написан у бинарном запису.


Ово можемо примењивати све док радимо са било којим бројевима између 1 и 2. Дакле


    • 1,65 квадрирано је 2,72, што је више него два, па смо га преполовити до 1.36 и записали 1

    • 1,36 квадрирано је 1.85, што је мање од два, па га не делимо, већ пишемо 0

    • 1,85 квадрирано је 3.43, што је више од два, па га преполовити на 1.72 и записати 1

    • 1,72 квадрирано је 2.95, што је више од два, па пишемо 1 (нема потребе да се преполови 2,95 јер смо већ завршили)

Написали смо до сада 1011, па бинарни логаритам 1.65 написан у бинарном облику је 0.1011 (или, написан као разломак, 11/16), а грешка је мања од 1/16. Додавањем 1/32, добијамо 23/32 где је грешка мања од 1/32. У принципу, да бисмо добили грешке мање од 0,5 подигнуте на 1+N, потребно нам је N квадрирања или N или мање дељења са два.



Види још


  • Природни логаритам


Референце




  1. ↑ 1,01,1 Warren Jr., Henry S. (2002). Hacker's Delight. Addison Wesley. стр. 215. ISBN 978-0-201-91465-8. 



Литература



  • Warren Jr., Henry S. (2002). Hacker's Delight. Addison Wesley. стр. 215. ISBN 978-0-201-91465-8. 



Преузето из „https://sr.wikipedia.org/w/index.php?title=Бинарни_логаритам&oldid=19186319”










Мени за навигацију



























(RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.300","walltime":"0.411","ppvisitednodes":"value":518,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":15633,"limit":2097152,"templateargumentsize":"value":2823,"limit":2097152,"expansiondepth":"value":17,"limit":40,"expensivefunctioncount":"value":0,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":2163,"limit":5000000,"entityaccesscount":"value":0,"limit":400,"timingprofile":["100.00% 315.643 1 -total"," 72.31% 228.229 1 Шаблон:Чишћење"," 21.97% 69.333 1 Шаблон:Reflist"," 20.40% 64.389 2 Шаблон:Cite_book"," 19.97% 63.033 1 Шаблон:Replace"," 13.11% 41.373 2 Шаблон:Main_other"," 12.17% 38.415 1 Шаблон:Ambox"," 3.43% 10.835 4 Шаблон:If_empty"," 2.09% 6.594 1 Шаблон:Category_handler"," 0.80% 2.526 2 Шаблон:Yesno"],"scribunto":"limitreport-timeusage":"value":"0.071","limit":"10.000","limitreport-memusage":"value":2754685,"limit":52428800,"cachereport":"origin":"mw1337","timestamp":"20190603214426","ttl":2592000,"transientcontent":false););"@context":"https://schema.org","@type":"Article","name":"u0411u0438u043du0430u0440u043du0438 u043bu043eu0433u0430u0440u0438u0442u0430u043c","url":"https://sr.wikipedia.org/wiki/%D0%91%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B0%D1%80%D0%B8%D1%82%D0%B0%D0%BC","sameAs":"http://www.wikidata.org/entity/Q581168","mainEntity":"http://www.wikidata.org/entity/Q581168","author":"@type":"Organization","name":"u0421u0430u0440u0430u0434u043du0438u0446u0438 u043fu0440u043eu0458u0435u043au0430u0442u0430 u0412u0438u043au0438u043cu0435u0434u0438u0458u0435","publisher":"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":"@type":"ImageObject","url":"https://www.wikimedia.org/static/images/wmf-hor-googpub.png","datePublished":"2014-04-13T15:36:06Z","dateModified":"2018-03-12T13:32:21Z","image":"https://upload.wikimedia.org/wikipedia/commons/5/56/Binary_logarithm_plot.png"(RLQ=window.RLQ||[]).push(function()mw.config.set("wgBackendResponseTime":151,"wgHostname":"mw1333"););

Popular posts from this blog

How to preserve electronics (computers, tablets and phones) for hundreds of years Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) The network's official Twitter account is up and running again. What content…How might modern humans leave a message for 50,000 years?How would an aquatic race develop computers?How do we make computers care for human life?Keeping supplies for 1000 yearsWhat will cell phones become in 100 years?What body armor protects against a laser?Could a society attain 1800s technology if limited to using copper and bronze?Electricity power (magic) and electronicsScavenging metal resources in post-apocalypse after 100 yearsWhy would precursors create devices that can survive and still work after hundreds of years?

155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해

Convert JSON to MapSimplest way to convert a string representing JSON array into Java array List of key value pairsHow to take String JSON values into HashMapConvert a JSON String to a HashMapCreating BSON object from JSON stringJSONObject - How to get a value ?Better Map ConstructorReading JSON from Url javaUpdate columns if input values are not null otherwise ignore and keep the existing values of column in databaseHow to store object represented as Json string into Couchbase Lite?Go JSON into MapHow do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesHow to round a number to n decimal places in JavaCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?Why does Google prepend while(1); to their JSON responses?Parse JSON in JavaScript?