<html>
<head>
<meta content="text/html; charset=iso-8859-2"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Jestli nebude na vine nejaka option
prekladace, ze se provadi implicitne posun aritmeeticky nebo
logicky...<br>
Ten muj pokus dal 0 v obou pripadech a int je 32b - cili evidentne
provadi posun logicky.<br>
Kazdopadne tyhle chytaky asi zaslouzi v C-cku nebyt liny napsat
0xFFFFFFFFU a je to jasne.<br>
<br>
Dne 31. 12. 2014 v 19:07 František Burian napsal(a):<br>
</div>
<blockquote cite="mid:6eh.2khQ.3fCDBumJOn5.1Kf3jI@seznam.cz"
type="cite">"přičemž se doplňuje nulami" je právě ta chyba. Pokud
0xFFFFFFFF je int pak je signed a posunuje se znamenko takže by
měl být výsledek -1. pokud bude uint měl by být 0 v obou
případech.<br>
<br>
<p>---------- Původní zpráva ----------<br>
Od: Pavel Hudeček <a class="moz-txt-link-rfc2396E" href="mailto:edizon@seznam.cz"><edizon@seznam.cz></a><br>
Komu: HW-news <a class="moz-txt-link-rfc2396E" href="mailto:hw-list@list.hw.cz"><hw-list@list.hw.cz></a><br>
Datum: 31. 12. 2014 18:45:59<br>
Předmět: Re: [OT]C CO tim chtel basnik rici?</p>
<br>
<blockquote>To je nějaký divný. Zadání je jasné:<br>
<br>
Vzít 32b int plný jedniček a 32x posunout, přičemž se doplňuje
nulami.<br>
<br>
- Proč by se to mělo přeložit jinak, než pro posun o 1, 2, 17,
nebo třeba 35 bitů?<br>
- Proč by mělo (není-li chyba v překladači) vycházet něco jiného
než 0?<br>
<br>
PH<br>
<br>
Od: Jan Waclawek <br>
To zavisi od velkosti int. Ak je viac ako 32 bitov, oba pripady
su ekvivalentne, ak menej alebo rovne, obidva su nedefinovane,
takze prekladac ma plne pravo vygenerovat lubovolny kod, ktory
moze trebars aj spadnut. Rad by som, ale nemam teraz moznost
citovat z normy.<br>
<br>
Akurat ze gcc sa bude v prvom pripade snazit vygenerovat nejaky
kod, co moze dopadnut vselijako v zavoslosti od konkretneho
procesora; v druhom tam asi da v ramci jednoduchosti asi
0xFFFFFFFF, t.j. akoby shift ani nenastal; ale moze to byt
lubovolne inak.<br>
<br>
>>><br>
Na C alebo skor gcc mam tazke srdce koli inym "vlastnostiam"<br>
Len tak schvalne aky vysledok bude podla vas v tychto
prikladoch:<br>
<br>
uint32_t addr_rem, mask;<br>
addr_rem = 32;<br>
mask = 0xFFFFFFFF >> addr_rem;<br>
<br>
A aky v pripade:<br>
<br>
mask = 0xFFFFFFFF >> 32;<br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a><br>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a></blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
<br /><br />
<hr style='border:none; color:#909090; background-color:#B0B0B0; height: 1px; width: 99%;' />
<table style='border-collapse:collapse;border:none;'>
<tr>
<td style='border:none;padding:0px 15px 0px 8px'>
<a href="http://www.avast.com/">
<img border=0 src="http://static.avast.com/emails/avast-mail-stamp.png" />
</a>
</td>
<td>
<p style='color:#3d4d5a; font-family:"Calibri","Verdana","Arial","Helvetica"; font-size:12pt;'>
This email has been checked for viruses by Avast antivirus software.
<br><a href="http://www.avast.com/">www.avast.com</a>
</p>
</td>
</tr>
</table>
<br />
</body>
</html>