Predznak: razlika između inačica

Izbrisani sadržaj Dodani sadržaj
m →‎Funkcija: Updated image to SVG format
komplementi, poopćenje, prikaz u registru, predznak u računalstvu
Redak 14:
~~\, 1 & \text{ako je } x > 0. \end{cases}</math>
 
[[Datoteka:Angles on the unit circle.svg|mini|right|Kut rotacije u [[Polarni koordinatni sustav|polarnom koordinatnom sustavu]] ima pozitivan ili negativan predznak, ovisno o smjeru rotacije]]
 
== Primjena predznaka ==
Redak 29:
 
== U računarstvu ==
U [[računarstvo|računarstvu]], cjelobrojna vrijednost može biti <code>signed</code> i <code>unsigned</code>. Dok <code>unsigned</code> može biti samo [[prirodni broj]] ili [[nula]], potonje može sadržavati i negativni predznak. U <code>signed</code> varijabli jedan bit pamti predznak broja. Deklariranjem <code>unsigned</code> varijable, taj bit koristi se da bi povećao maksimalnu vrijednost broja. Npr. 8-bitni <code>signed</code> može pamtiti brojeve u [[interval (matematika)|intervalu]] [-128, 127] dok 8-bitni <code>unsigned</code> pamti brojeve u intervalu [0, 255].
 
U [[C (programski jezik)|programskom jeziku C]] cjelobrojne varijable zadano su <code>signed</code>.
 
[[Jezični prevoditelj|Prevoditelji]] često javljaju upozorenje prilikom uspoređivanja <code>signed</code> i <code>unsigned</code> ili ''castanja'' jednoga u drugi. To ponekad može biti opasno jer im se razlikuju intervali u kojima mogu pamtiti brojeve.
{| class="floatright" style="width:20em;"
|align="center" style="background-color:#ddeeff;"| Najznačajniji [[bit]] ||align="center" colspan="9"|
Line 122 ⟶ 127:
|align="center" style="width:2em;"| '''=''' ||align="right" style="width:2em;"| '''&minus;128'''
|-
| colspan=9 style="text-align:center;font-size:90%" | Računala najčešće koriste '''dvojnidvokomplementni [[komplement skupa|komplement]] -oblik''' za predstavljanje predznaka<ref name="pb"/>
|}
U [[računarstvo|računarstvu]], cjelobrojna vrijednost može biti <code>signed</code> i <code>unsigned</code>. Dok <code>unsigned</code> može biti samo [[prirodni broj]] ili [[nula]], potonje može sadržavati i negativni predznak. U <code>signed</code> varijabli jedan bit pamti predznak broja. Deklariranjem <code>unsigned</code> varijable, taj bit koristi se da bi povećao maksimalnu vrijednost broja. Npr. 8-bitni <code>signed</code> može pamtiti brojeve u [[interval (matematika)|intervalu]] [-128, 127] dok 8-bitni <code>unsigned</code> pamti brojeve u intervalu [0, 255].
 
== Zapis u memoriji računala ==
U [[C (programski jezik)|programskom jeziku C]] cjelobrojne varijable zadano su <code>signed</code>.
Računala koriste [[bit]]ove pa ne mogu pamtiti plus ili minus. Zato možemo plusu pridružiti 1, a minusu 0. Ostali bitovi pamtit će apsolutnu vrijednost broja. Takav način prikaza broja zove se zapis broja pomoću predznaka i apsolutne vrijednosti.<ref name="pb"/>
 
[[Jezični prevoditelj|Prevoditelji]] često javljaju upozorenje prilikom uspoređivanja <code>signed</code> i <code>unsigned</code> ili ''castanja'' jednoga u drugi. To ponekad može biti opasno jer im se razlikuju intervali u kojima mogu pamtiti brojeve.
 
=== Dvojni komplement ===
 
'''Dvojni komplement''', '''dvokomplement''' ili '''drugi komplement'''<ref name="radic">{{citiranje weba|url=http://www.informatika.buzdo.com/s070-drugi-komplement.htm|title=Binarna aritmetika - II komplement|last=Radić|first=Drago|publisher=Split-Hrvatska|work="Informatička abeceda"|accessdate=26. srpnja 2016.}}</ref><ref name="pb">Brođanac P., Budin L., Markučić Z., Perić S. ''Informatika 1: udžbenik za 1. razred prirodoslovno-matematičke gimnazije'', 2. izd., Školska knjiga, Zagreb, 2015., ISBN 978-953-0-22063-8, str. 97. – 101.</ref> je matematička operacija na [[Binarni brojevni sustav|binarnim brojevima]]. Dvojni komplement nekog broja ''x'' jednak je razlici broja ''x'' od {{matematika|2''a'' <sup>''Nn''</sup>}} gdje je ''a'' baza [[Brojevni sustav|brojevnog sustava]], a ''n'' broj znamenaka broja ''x''. Drugim riječima, dvojni komplement broja ''x'' dobijemo tako da broju ''x'' promijenimo sve bitove,znamenke 1''b<sub>i</sub>'' promijenimo u 0razliku te{{matematika|(''a'' 0 u- 1,) a- zatim''b<sub>i</sub>''}}, mugdje pribrojimo.je Drugi''a'' načinbaza jebrojevnog dasustava, promijenimoa svezatim bitovemu upribrojimo broju1. ''x''Dvokomplement kojijednak suje lijevokomplementu oduvećanom najdesnijeza jedinice1.<ref name="pb"/>
 
U računarstvu, dvojni komplement se koristi za negaciju <code>signed</code> broja.
 
U registar duljine ''n'' bitova možemo zapisati 2<sup>''n''</sup> distinktnih cijelih brojeva, od -2<sup>''n'' − 1</sup> do 2<sup>''n'' − 1</sup> − 1.<ref name="pb"/> U računarstvu, dvojni komplement se koristi za negaciju <code>signed</code> broja. Drugi način da izračunamo dvojni komplement [[Binarni brojevni sustav|binarnog broja]] ''x'' je da promijenimo sve bitove u broju ''x'' koji su lijevo od najdesnije jedinice. Pomoću dvojnog komplementa možemo dobiti i posljednju znamenku 1jedinicu nekog broja ''x'' u binarnom zapisu. Ona je {{matematika|''x'' & -''x''}} ako je '''&''' bitovna operacija I, a '''-''' je dvojni komplement broja ''x''. Npr. za broj 12<sub></sub> = 1100<sub>(2)</sub> ćemo dobiti 4. To se koristi u [[logaritamska struktura|logaritamskoj strukturi]].<ref>{{citiranje weba|language=engleski|accessdate=29. srpnja 2016.|url=https://www.topcoder.com/community/data-science/data-science-tutorials/binary-indexed-trees/#lastdigit|title=Isolating the last digit|publisher=TopCoder|work=Binary Indexed Trees}}</ref>
 
{|class="wikitable sortable floatright" style="margin-left: 1.5em;"
|+Zapis brojeva u računalu pomoću predznaka i apsolutne vrijednosti
|+8-bitni brojevi u prvom komplementu
! Prikaz u <br/>registru
! Bitovi
! <code>Unsigned<code><br /> vrijednost
! Dekadska <br/>vrijednost
! Vrijednost<br />prvog<br />komplementa
|-
| 0111 1111
Line 186 ⟶ 187:
|}
 
=== Prvi komplementKomplement ===
'''PrviKomplement komplementznamenke''' dobivamo da vrijednost znamenke oduzmemo od 9. '''Komplement ~''' nekog ([[BinarniLatinski brojevni sustavjezik|binarnog brojalat]]. jecomplementum vrijednost dobivenadopuna, inverzijomupotpunjivanje) svihnekog bitovabroja (promjenaje 1vrijednost udobivena 0komplementom isvake obrnuto)znamenke. U registru od ''Nn''-bitnom sustavu prvog komplementabitova možemo pamtitizapisati vrijednosti od −(2<sup>''Nn'' − 1</sup> − 1) do 2<sup>''Nn'' − 1</sup> − 1 jer imamo dvije moguće nule. OnZapis sepomoću predznaka i apsolutne vrijednosti rijetko se koristi zbog ofseta od -1 prilikom binarnog zbrajanja. U svakom brojevnom sustavu, komplement broja jednak je dvokomplementu broja umanjenom za 1.<ref name="pb"/>
 
U sustavu dvojnog komplementa u parnoj brojevnoj bazi, broj ''x'' i njemu komplement ~''x'' imaju sve znamenke različite.
U sustavu dvojnog komplementa, broj ''x'' i njemu prvi komplement ~''x'' imaju sve bitove različite. U bitmaskama se prvi komplement koristi za promjenu jednog bita iz bilo kojeg stanja u 0.<ref>{{citiranje weba|language=engleski|url=http://www.learncpp.com/cpp-tutorial/3-8a-bit-flags-and-bit-masks/|author=Alex|title=3.8a — Bit flags and bit masks|publisher=LearnCpp|date=28. svibnja 2016.|accessdate=8. rujna 2015.}}</ref>
 
== Vidi još ==
* [[Cijeli broj]]
* [[Apsolutna vrijednost broja]]
* [[Komplement skupa]]
 
== Izvori ==