<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Duvida sobre o operador de inversao de bits ~"]]></title>
		<link>http://www.guj.com.br/posts/list/11.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Duvida sobre o operador de inversao de bits ~"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Duvida sobre o operador de inversao de bits ~</title>
				<description><![CDATA[ Ae galera<br /> To com uma duvida...<br /> seguinte<br /> como age o operador de inversao de bits?<br /> Por exemplo:<br /> seja o numero 1 em binario (pra simplificar colocamos um byte)<br /> 10000001<br /> <br /> Sendo que o digito mais significante eh o digito de sinal e assumindo que 1 eh positivo<br /> <br /> se eu aplicar o operador de inversao de bit ficaria<br /> <br /> 01111110<br /> <br /> ou seja algum numero negativo muito grande<br /> <br /> mas ao fazer isso em um  programa com esse codigo:<br /> <br /> [code]<br /> public class teste&#123; <br />   static char staticArray&#91;&#93; = new char&#91;5&#93;;<br />   public static void main&#40;String&#91;&#93; args&#41;&#123; <br />      byte x = 1;<br /> 	 byte y =&#40;byte&#41; ~x;<br /> 	 System.out.println&#40;y&#41;;<br />   &#125;<br />    <br /> &#125; <br /> [/code]<br /> <br /> ele imprime -2...<br /> nao entendi... alguem pode me explicar?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9408/duvida-sobre-o-operador-de-inversao-de-bits-
</guid>
				<link>http://www.guj.com.br/prepost/1976/9408/duvida-sobre-o-operador-de-inversao-de-bits-
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 08:31:01]]> GMT</pubDate>
				<author><![CDATA[ duardor]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ A representacao binaria de "1" eh "01". Ao inverter os bits, fica "10", que eh "2" positivo. Porem, como o sinal eh trocado, todos os outros bits mais a esquerda, que antes eram "0", viram "1", tornando o numero negativo.<br /> <br /> [code]<br /> byte b = 1;<br /> System.out.println&#40;Integer.toBinaryString&#40;b&#41;&#41;;<br /> b = &#40;byte&#41;~b;<br /> System.out.println&#40;Integer.toBinaryString&#40;b&#41;&#41;;<br /> [/code]        <br /> <br /> Rafael]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9418/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9418/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 10:11:05]]> GMT</pubDate>
				<author><![CDATA[ Rafael Steil]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ entao ele nao vai inverter os bits 0 que estao mais  a esquerda, com excecao do bit indicador de sinal???<br /> eh isso?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9420/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9420/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 10:26:30]]> GMT</pubDate>
				<author><![CDATA[ duardor]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Ele inverte todos os bits.. "mais a esquerda" significa todos eles, nao somente um. Execute o programa para voce ver.<br /> <br /> Rafael]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9422/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9422/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 10:30:43]]> GMT</pubDate>
				<author><![CDATA[ Rafael Steil]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ [quote="Rafael Steil"]Ele inverte todos os bits.. "mais a esquerda" significa todos eles, nao somente um. Execute o programa para voce ver.<br /> <br /> Rafael[/quote]<br /> Mas rafael como eu disse:<br /> Se sao todos bits entao <br /> um byte tem 8 bits sendo q o de ordem mais alta eh o digito de sinal:<br /> entao digamos 1 se o bit de ordem mais alta for 1 entao eh positivo<br /> o numero "1" seria:<br /> 10000001<br /> aplicando ~<br /> 01111110 <br /> q eh -2^21 = <br /> -2097152<br /> <br /> maos ao inves disso ele dah:<br /> 00000010 q eh o -2<br /> os bits em amarelo <br /> 00[color="yellow"]0000[/color]10 nao foram invertidos...<br /> entao os bits que estao entre o bit de sinal e o primeiro bit 1 nao sao invertidos... <br /> to errado?<br /> agradeço sua ajuda<br /> <br /> <br /> [color="yellow"][/color][color="#444444"][/color]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9428/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9428/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 10:49:54]]> GMT</pubDate>
				<author><![CDATA[ duardor]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Nao, nao.. "1" eh negativo, "0" eh positivo. Voce esta confundindo. Depois, a operacao de inversao eh feita como se fosse um int neste caso, tanto que voce precisa do cast para byte para fazer a atribuicao de novo.. entao, na verdade, voce esta trabalhando com um numero de 32 bits ( mas nao que isso interfira no resultado neste caso ).<br /> <br /> Rafael]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9430/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9430/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 10:55:11]]> GMT</pubDate>
				<author><![CDATA[ Rafael Steil]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Eu nao to preocupado com o bit de sinal<br /> To sim preocupado com os bits entre o bit de sinal e o primeiro 1 no valor original...<br /> Tipo digamos entao que um inteiro tenha 4 bits(pra simplificar) e o bit de sinal eh + ou -<br /> Entao 1 :<br /> +001<br /> Aplicando ~<br /> -110<br /> Que na verdade eh igual -5<br /> entendeu???<br /> se inverter todos os bits teria q funcionar assim... <br /> me exoplica isso ai direito, como funciona nos bits...<br /> valew<br /> [/b]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9434/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9434/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 11:02:43]]> GMT</pubDate>
				<author><![CDATA[ duardor]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Ola,<br /> <br /> O 110 na verdade é -2. O java trabalha com complento de dois!!! (byte, short, int e long). <br /> <br /> []'s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9436/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9436/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 11:28:06]]> GMT</pubDate>
				<author><![CDATA[ mlopes]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Putz<br /> Complemento de 2...<br /> Eu vi isso no primeiro periodo da facu e depois nunca mais...<br /> Como eh mesmo a teoria?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9437/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9437/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 11:39:39]]> GMT</pubDate>
				<author><![CDATA[ duardor]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ Ola<br /> <br /> Na prática:<br /> <br />  ~i = -(i + 1)<br /> <br /> O google acha bastante literatura sobre o assunto.<br /> <br /> []'s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/1976/9442/
</guid>
				<link>http://www.guj.com.br/prepost/1976/9442/
</link>
				<pubDate><![CDATA[Mon, 17 Mar 2003 12:05:57]]> GMT</pubDate>
				<author><![CDATA[ mlopes]]></author>
			</item>
	</channel>
</rss>
