<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg129</id>
	<title>Curso de Programación en C/Prog129 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg129"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog129&amp;action=history"/>
	<updated>2026-05-09T19:03:29Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog129&amp;diff=5553&amp;oldid=prev</id>
		<title>Perseuz: /* Prog129 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog129&amp;diff=5553&amp;oldid=prev"/>
		<updated>2014-06-10T16:36:34Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Prog129&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[:#Prog129 | Bitwise AND para pagar bits]]&lt;br /&gt;
** [[:#Resultado | Resultado]]&lt;br /&gt;
** [[:#Explicación | Explicación]]&lt;br /&gt;
&lt;br /&gt;
== Prog129 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_FANCY_LINE_NUMBERS&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
  unsigned char Mascara,&lt;br /&gt;
                Semaforos;&lt;br /&gt;
&lt;br /&gt;
  char Buf[7];&lt;br /&gt;
&lt;br /&gt;
  int  i,&lt;br /&gt;
       Prueba;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;\nEl bitwise AND es usado a veces para&amp;quot; );&lt;br /&gt;
  puts( &amp;quot;apagar algunos bits en un entero\n&amp;quot; );&lt;br /&gt;
  printf( &amp;quot;Dame un número positivo entre 0 y 255: &amp;quot; );&lt;br /&gt;
  while( fgets( Buf, 5, stdin ) &amp;amp;&amp;amp; Buf[0] != &amp;#039;\n&amp;#039; )&lt;br /&gt;
  {&lt;br /&gt;
    if( *(Buf + strlen( Buf ) -1 ) != &amp;#039;\n&amp;#039; )&lt;br /&gt;
    {&lt;br /&gt;
      fputs( &amp;quot;La línea que entraste es demasiado larga.\nSolo 3 chars MAX&amp;quot;,&lt;br /&gt;
                                                                     stderr );&lt;br /&gt;
      exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    *(Buf + strlen( Buf ) -1 ) = &amp;#039;\0&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    for( i = 0; i &amp;lt; strlen( Buf ); i++ )&lt;br /&gt;
    {&lt;br /&gt;
      if( Buf[i] &amp;lt; &amp;#039;0&amp;#039; || Buf[i] &amp;gt; &amp;#039;9&amp;#039; )&lt;br /&gt;
      {&lt;br /&gt;
        fputs( &amp;quot;Caracteres ilegales en su ingreso\n&amp;quot;, stderr );&lt;br /&gt;
        exit(1);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    Prueba = atoi( Buf);&lt;br /&gt;
    if( Prueba &amp;gt; 255 )&lt;br /&gt;
    {&lt;br /&gt;
      fputs( &amp;quot;Su entrada está fuera del rango especificado\n&amp;quot;, stderr );&lt;br /&gt;
      exit(1);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    for( i = 1; i &amp;lt;= 8; i++ )&lt;br /&gt;
    {&lt;br /&gt;
      switch( i )&lt;br /&gt;
      {&lt;br /&gt;
        case 1: Mascara = 0xfe;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 2: Mascara = 0xfd;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 3: Mascara = 0xfb;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 4: Mascara = 0xf7;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 5: Mascara = 0xef;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 6: Mascara = 0xdf;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 7: Mascara = 0xbf;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
        case 8: Mascara = 0x7f;&lt;br /&gt;
                Semaforos = Prueba;&lt;br /&gt;
                Semaforos &amp;amp;= Mascara;&lt;br /&gt;
            printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está apagado\n&amp;quot;,&lt;br /&gt;
                                                      Prueba, Semaforos, i -1 );&lt;br /&gt;
	    break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    printf( &amp;quot;\nDame un número positivo entre 0 y 255&amp;quot;&lt;br /&gt;
            &amp;quot; (&amp;lt;Enter&amp;gt; para terminar): &amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resultado ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[rrc@AbelLap CClase]$ gcc -Wall -o Prog129 Prog129.c&lt;br /&gt;
[rrc@AbelLap CClase]$ ./Prog129&lt;br /&gt;
&lt;br /&gt;
El bitwise AND es usado a veces para&lt;br /&gt;
apagar algunos bits en un entero&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255: 255&lt;br /&gt;
Su número 255 se cambia a 254 cuando bit 0 está apagado&lt;br /&gt;
Su número 255 se cambia a 253 cuando bit 1 está apagado&lt;br /&gt;
Su número 255 se cambia a 251 cuando bit 2 está apagado&lt;br /&gt;
Su número 255 se cambia a 247 cuando bit 3 está apagado&lt;br /&gt;
Su número 255 se cambia a 239 cuando bit 4 está apagado&lt;br /&gt;
Su número 255 se cambia a 223 cuando bit 5 está apagado&lt;br /&gt;
Su número 255 se cambia a 191 cuando bit 6 está apagado&lt;br /&gt;
Su número 255 se cambia a 127 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 127&lt;br /&gt;
Su número 127 se cambia a 126 cuando bit 0 está apagado&lt;br /&gt;
Su número 127 se cambia a 125 cuando bit 1 está apagado&lt;br /&gt;
Su número 127 se cambia a 123 cuando bit 2 está apagado&lt;br /&gt;
Su número 127 se cambia a 119 cuando bit 3 está apagado&lt;br /&gt;
Su número 127 se cambia a 111 cuando bit 4 está apagado&lt;br /&gt;
Su número 127 se cambia a 95 cuando bit 5 está apagado&lt;br /&gt;
Su número 127 se cambia a 63 cuando bit 6 está apagado&lt;br /&gt;
Su número 127 se cambia a 127 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 63&lt;br /&gt;
Su número 63 se cambia a 62 cuando bit 0 está apagado&lt;br /&gt;
Su número 63 se cambia a 61 cuando bit 1 está apagado&lt;br /&gt;
Su número 63 se cambia a 59 cuando bit 2 está apagado&lt;br /&gt;
Su número 63 se cambia a 55 cuando bit 3 está apagado&lt;br /&gt;
Su número 63 se cambia a 47 cuando bit 4 está apagado&lt;br /&gt;
Su número 63 se cambia a 31 cuando bit 5 está apagado&lt;br /&gt;
Su número 63 se cambia a 63 cuando bit 6 está apagado&lt;br /&gt;
Su número 63 se cambia a 63 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 31&lt;br /&gt;
Su número 31 se cambia a 30 cuando bit 0 está apagado&lt;br /&gt;
Su número 31 se cambia a 29 cuando bit 1 está apagado&lt;br /&gt;
Su número 31 se cambia a 27 cuando bit 2 está apagado&lt;br /&gt;
Su número 31 se cambia a 23 cuando bit 3 está apagado&lt;br /&gt;
Su número 31 se cambia a 15 cuando bit 4 está apagado&lt;br /&gt;
Su número 31 se cambia a 31 cuando bit 5 está apagado&lt;br /&gt;
Su número 31 se cambia a 31 cuando bit 6 está apagado&lt;br /&gt;
Su número 31 se cambia a 31 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 15&lt;br /&gt;
Su número 15 se cambia a 14 cuando bit 0 está apagado&lt;br /&gt;
Su número 15 se cambia a 13 cuando bit 1 está apagado&lt;br /&gt;
Su número 15 se cambia a 11 cuando bit 2 está apagado&lt;br /&gt;
Su número 15 se cambia a 7 cuando bit 3 está apagado&lt;br /&gt;
Su número 15 se cambia a 15 cuando bit 4 está apagado&lt;br /&gt;
Su número 15 se cambia a 15 cuando bit 5 está apagado&lt;br /&gt;
Su número 15 se cambia a 15 cuando bit 6 está apagado&lt;br /&gt;
Su número 15 se cambia a 15 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 7&lt;br /&gt;
Su número 7 se cambia a 6 cuando bit 0 está apagado&lt;br /&gt;
Su número 7 se cambia a 5 cuando bit 1 está apagado&lt;br /&gt;
Su número 7 se cambia a 3 cuando bit 2 está apagado&lt;br /&gt;
Su número 7 se cambia a 7 cuando bit 3 está apagado&lt;br /&gt;
Su número 7 se cambia a 7 cuando bit 4 está apagado&lt;br /&gt;
Su número 7 se cambia a 7 cuando bit 5 está apagado&lt;br /&gt;
Su número 7 se cambia a 7 cuando bit 6 está apagado&lt;br /&gt;
Su número 7 se cambia a 7 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 3&lt;br /&gt;
Su número 3 se cambia a 2 cuando bit 0 está apagado&lt;br /&gt;
Su número 3 se cambia a 1 cuando bit 1 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 2 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 3 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 4 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 5 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 6 está apagado&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 1&lt;br /&gt;
Su número 1 se cambia a 0 cuando bit 0 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 1 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 2 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 3 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 4 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 5 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 6 está apagado&lt;br /&gt;
Su número 1 se cambia a 1 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 0&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 0 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 1 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 2 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 3 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 4 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 5 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 6 está apagado&lt;br /&gt;
Su número 0 se cambia a 0 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 35&lt;br /&gt;
Su número 35 se cambia a 34 cuando bit 0 está apagado&lt;br /&gt;
Su número 35 se cambia a 33 cuando bit 1 está apagado&lt;br /&gt;
Su número 35 se cambia a 35 cuando bit 2 está apagado&lt;br /&gt;
Su número 35 se cambia a 35 cuando bit 3 está apagado&lt;br /&gt;
Su número 35 se cambia a 35 cuando bit 4 está apagado&lt;br /&gt;
Su número 35 se cambia a 3 cuando bit 5 está apagado&lt;br /&gt;
Su número 35 se cambia a 35 cuando bit 6 está apagado&lt;br /&gt;
Su número 35 se cambia a 35 cuando bit 7 está apagado&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): &lt;br /&gt;
[rrc@AbelLap CClase]$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Explicación ===&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación en C]]&lt;br /&gt;
[[Category:CCabal]]&lt;br /&gt;
[[Category:CursoC]]&lt;/div&gt;</summary>
		<author><name>Perseuz</name></author>
		
	</entry>
</feed>