Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 11. 08. 2012 12:13

KDPK
Příspěvky: 57
Reputace:   
 

Datové typy - přepočty hodnot

Ahoj,

chtěla bych velmi poprosit o začátečnickou radu. Probírám se jednotlivými datovými typy a jejich hodnotami.

Potřebovala bych nasměrovat s přepočty, ukážu třeba na "char" pro 32-bit Unix system:


CHAR_MAX ... hodnota 127 nebo 255
Hodnota 255 je jasná, tj. 1111 1111. UNSIGNED
S hodnotou 127 si nejsem jistá, tj. 0111 1111? SIGNED?

CHAR_MIN ... hodnota -128 nebo 0
Hodnota 0 je jasná, tj. 0000 0000. UNSIGNED.
K hodnotě -128 nevím, jak se dostat. Napadá mě 1111 1111 SIGNED, ale to mi vychází při přepočtu do desítkové s. -127.

V učebnicích, co mám k dispozici, berou hodnoty jako hotovou věc, chtěla bych výpočtům ale rozumět.

Díky velice, K.

Offline

  • (téma jako vyřešené označil(a) KDPK)

#2 11. 08. 2012 19:11

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Datové typy - přepočty hodnot

Je to rozepsane treba na wikipedii - odstavec Two's complement

-128 signed to je jako 1000 0000
-1 je jako 1111 1111

Kdyz je to udelane takhle, tak se s tim potom v nekterych pripadech lepe pocita.

Napriklad soucet 5 + (-2)
je jako 0000 0101 + 1111 1110 = 1 0000 0011, jednicka pretece a zahodi se takze vyjde 0000 0011 coz je 3.

Offline

 

#3 11. 08. 2012 20:42

KDPK
Příspěvky: 57
Reputace:   
 

Re: Datové typy - přepočty hodnot

↑ Lumikodlak:

Ahoj,

díky za zaslaný odkaz na doplňkové kódy. Moc mi pomohl.
Zdravím, K.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson