Article View: pl.comp.lang.c
Article #1049Re: Operacje na bitach
From: Karpierz
Date: Fri, 30 Jan 1998 21:48
Date: Fri, 30 Jan 1998 21:48
51 lines
2430 bytes
2430 bytes
Adam Jancewicz <adash@obop.com.pl> napisal Karpierz wrote: [...] >> Wlasnie, to jeszcze jeden kwiatek do korzucha w C. >> Raz sa rowne a raz nie.... >> >C nie gwarantuje przecierz rozmiaru np. inta. >Problem występuje przy zmianie reprenacji (liczby bitów) >rzutowanego typu. Przy jednakowym rozmiaże rzutowanie >to tylko rzecz interpretacji ciągu bitów. > >BTW Co to jest korzuch (korzucha) ?) No coz... walnalem byka.. ma byc kozuch :) Ale, ale... Co to jest 'zmiana reprenacji' ? I cos mi sie nie podoba to: 'jednakowym rozmiaze' Mam propozycje :) Zostawmy Miodkowi co miodkowe ok ? :)) >> Ale dla K&R C jest wyrazna luka i dlatego pytalem poprzednio jak to >> precyzuje standard. > >Podejrzewam że nic tego nie precyzuje. Wlasnie dlatego pytam, mysle ze jednak ANSI C to precyzuje. /przynajmniej powinno../ >Konwersja signed char (bajt) na int (2 bajty) była/jest >realizowana na Intelach poprzez instrukcję CBW (convert byte to word) >procesora, która działa właśnie tak, że powiela bit znaku na starszy >bajt. >natomiast w przypadku typu unsigned jest realizowana inaczej. po prostu XOR AH,AH /ale tylko dla 16 bitow oczywiscie /. >Myśle, że na innych architeturach jest podobnie. Nie chodzi o konkretna architekture, ale o zasade jaka powinna obowiazywac na _kazdej_ architekturze. >Uważam, że zasada jest taka że rzut jest realizowany tylko >ze względu na typ elementu rzutowanego. I potem interpretowany >jako signed lub unsigned. To chyba jedyny sensowny sposób. Tez wlasnie dokladnie ta zasade stosuje ale jednak luka pozostaje luka ... Dalej nie jestesmy pewni na 100%. A.K.
Technical Details
Message-ID:
<01bd2dc8$e15b2d40$90baccc2@karpierz.dyn.ml.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mailReferences:
<34D0605D.5843@imm.org.pl> <01bd2caf$70afa4a0$8cbaccc2@karpierz.dyn.ml.org> <34D0BBCF.ADA1488D@obop.com.pl> <01bd2ce4$bb394460$8ebaccc2@karpierz.dyn.ml.org> <34D20D01.58091539@obop.com.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mail From: "Karpierz" <karpierz@inter.intertele.pl> Newsgroups: pl.comp.lang.c Subject: Re: Operacje na bitach Date: 30 Jan 1998 21:48:35 GMT Organization: Technical University of Wroclaw, Poland Lines: 52 Message-ID: <01bd2dc8$e15b2d40$90baccc2@karpierz.dyn.ml.org> References: <34D0605D.5843@imm.org.pl> <01bd2caf$70afa4a0$8cbaccc2@karpierz.dyn.ml.org> <34D0BBCF.ADA1488D@obop.com.pl> <01bd2ce4$bb394460$8ebaccc2@karpierz.dyn.ml.org> <34D20D01.58091539@obop.com.pl> NNTP-Posting-Host: ppp144.intertele.pl X-Newsreader: Microsoft Internet News 4.70.1161 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit