<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-457572880441325673</id><updated>2011-04-21T16:16:34.359-07:00</updated><category term='bit'/><category term='unsigned'/><category term='java'/><title type='text'>Liberación</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mushn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/457572880441325673/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mushn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mushn</name><uri>http://www.blogger.com/profile/10078278455820665476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-457572880441325673.post-1103308157991472945</id><published>2008-03-03T09:52:00.000-08:00</published><updated>2008-03-03T03:51:14.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unsigned'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bit'/><title type='text'>Java y los unsigned</title><content type='html'>La semana pasada tuve una batalla con Java: tenía que hacer una práctica trabajando con bits.&lt;br /&gt;&lt;br /&gt;El nivel más bajo al cual se puede trabajar en Java con bits es el byte (8 bits). Un carácter hexadecimal son 4 bits, con lo cual nos caben 2 en un byte.&lt;br /&gt;&lt;br /&gt;El problema viene cuándo, por ejemplo, quieres hacer una operación de unsigned bytes y asignarla a un int. Prueba de ello:&lt;br /&gt;&lt;br /&gt;byte b = (byte) 0x01;  //si no se pone "(byte)" da error al compilar porque se piensa que 0x01 es un int.&lt;br /&gt;byte c = (byte) 0x80;&lt;br /&gt;int a =  0;  //(opcional) fuerzo a que todos los bits de 'a' sean 0&lt;br /&gt;a = b | c;&lt;br /&gt;&lt;br /&gt;El contenido de 'a' (visto en hexadecimal) es 0xffffff81, y pasado a decimal son -127.&lt;br /&gt;&lt;br /&gt;Al final, la solución: unas máscaras...&lt;br /&gt;&lt;br /&gt;byte b = (byte) 0x01;&lt;br /&gt;byte c = (byte) 0x80;&lt;br /&gt;int a = (b &amp;amp; 0xff) | (c &amp;amp; 0xff);&lt;br /&gt;&lt;br /&gt;Ahora, el contenido de 'a' es 0x81 (0x00000081), que pasado a decimal son 129.&lt;br /&gt;&lt;br /&gt;Por lo que puedo deducir, en 'c', al estar el bit más significativo a 1, y Java interpretarlo como un número negativo (signed), al convertirlo a int para poder hacer la operación, extiende el 1 hasta el final, que es lo que se ve al hacer la or binaria. Con las máscaras lo que hacemos es poner a 0 todos esos bits que Java extiende y que realmente no nos interesan debido a que queremos trabajar con unsigneds.&lt;br /&gt;&lt;br /&gt;¿Alguna cosa más a tener en cuenta cuando se trabaja con bits en Java?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/457572880441325673-1103308157991472945?l=mushn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mushn.blogspot.com/feeds/1103308157991472945/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=457572880441325673&amp;postID=1103308157991472945' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/457572880441325673/posts/default/1103308157991472945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/457572880441325673/posts/default/1103308157991472945'/><link rel='alternate' type='text/html' href='http://mushn.blogspot.com/2008/03/java-y-los-unsigned.html' title='Java y los unsigned'/><author><name>Mushn</name><uri>http://www.blogger.com/profile/10078278455820665476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-457572880441325673.post-8167165278608077880</id><published>2008-02-29T11:51:00.000-08:00</published><updated>2008-12-10T12:18:50.594-08:00</updated><title type='text'>Hello World</title><content type='html'>¡Hola!&lt;br /&gt;&lt;br /&gt;Por fin he decidido hacer mi blog, y que mejor para empezar que presentarme:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_T4__jLwY9tg/R8fsXklUI1I/AAAAAAAAAAM/2Uxm3stn1aY/s1600-h/nina.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_T4__jLwY9tg/R8fsXklUI1I/AAAAAAAAAAM/2Uxm3stn1aY/s200/nina.jpg" alt="" id="BLOGGER_PHOTO_ID_5172362586759635794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nativo de Barcelona, me independicé hace ya año y medio, y vivo en Terrassa con mi mujer y una perrita muy mona y rebelde --&gt;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Soy un estudiante de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;FIB&lt;/span&gt; de último año de carrera (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ET&lt;/span&gt; Informática de Gestión) orientado a la programación; se &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;podría&lt;/span&gt; decir que según se describe en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Wikipedia&lt;/span&gt; soy un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;geek&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;xD&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A la vez, y para poder pagar el alquiler, coche, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;párking&lt;/span&gt;..., trabajo como técnico &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;microinformático&lt;/span&gt; (soporte a usuarios, configuración de nuevos ordenadores...).&lt;br /&gt;&lt;br /&gt;Hasta aquí lo que puedo publicar de mi vida privada :P&lt;br /&gt;&lt;br /&gt;¡&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Bienvenid&lt;/span&gt;@ a mi blog!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/457572880441325673-8167165278608077880?l=mushn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/457572880441325673/posts/default/8167165278608077880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/457572880441325673/posts/default/8167165278608077880'/><link rel='alternate' type='text/html' href='http://mushn.blogspot.com/2008/02/hello-world.html' title='Hello World'/><author><name>Mushn</name><uri>http://www.blogger.com/profile/10078278455820665476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_T4__jLwY9tg/R8fsXklUI1I/AAAAAAAAAAM/2Uxm3stn1aY/s72-c/nina.jpg' height='72' width='72'/></entry></feed>
