<?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%2FProg128</id>
	<title>Curso de Programación en C/Prog128 - 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%2FProg128"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog128&amp;action=history"/>
	<updated>2026-04-26T12:51:04Z</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/Prog128&amp;diff=4318&amp;oldid=prev</id>
		<title>Rrc en 13:42 27 oct 2012</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog128&amp;diff=4318&amp;oldid=prev"/>
		<updated>2012-10-27T13:42:56Z</updated>

		<summary type="html">&lt;p&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;
* [[:#Prog128 | Bitwise OR para prender bits]]&lt;br /&gt;
** [[:#Resultado | Resultado]]&lt;br /&gt;
** [[:#Explicación | Explicación]]&lt;br /&gt;
&lt;br /&gt;
== Prog128 ==&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;
&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   = 0x00,&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 OR esta usado a veces a&amp;quot; );&lt;br /&gt;
  puts( &amp;quot;prender algunas 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 demaciado largo.\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;
    for( i = 1; i &amp;lt;= 8; i++ )&lt;br /&gt;
    {&lt;br /&gt;
      if( i == 1 )&lt;br /&gt;
        Mascara = 0x01;&lt;br /&gt;
      else&lt;br /&gt;
        Mascara &amp;lt;&amp;lt;= 1;&lt;br /&gt;
&lt;br /&gt;
      Semaforos = Prueba;&lt;br /&gt;
      Semaforos |= Mascara;&lt;br /&gt;
      printf( &amp;quot;Su número %d se cambia a %d cuando bit %d está prendida\n&amp;quot;,&lt;br /&gt;
                                                  Prueba, Semaforos, i -1 );&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 Prog128 Prog128.c&lt;br /&gt;
[rrc@AbelLap CClase]$ ./Prog128&lt;br /&gt;
&lt;br /&gt;
El bitwise OR esta usado a veces a&lt;br /&gt;
prender algunas bits en un entero&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255: 0&lt;br /&gt;
Su número 0 se cambia a 1 cuando bit 0 está prendida&lt;br /&gt;
Su número 0 se cambia a 2 cuando bit 1 está prendida&lt;br /&gt;
Su número 0 se cambia a 4 cuando bit 2 está prendida&lt;br /&gt;
Su número 0 se cambia a 8 cuando bit 3 está prendida&lt;br /&gt;
Su número 0 se cambia a 16 cuando bit 4 está prendida&lt;br /&gt;
Su número 0 se cambia a 32 cuando bit 5 está prendida&lt;br /&gt;
Su número 0 se cambia a 64 cuando bit 6 está prendida&lt;br /&gt;
Su número 0 se cambia a 128 cuando bit 7 está prendida&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 1 cuando bit 0 está prendida&lt;br /&gt;
Su número 1 se cambia a 3 cuando bit 1 está prendida&lt;br /&gt;
Su número 1 se cambia a 5 cuando bit 2 está prendida&lt;br /&gt;
Su número 1 se cambia a 9 cuando bit 3 está prendida&lt;br /&gt;
Su número 1 se cambia a 17 cuando bit 4 está prendida&lt;br /&gt;
Su número 1 se cambia a 33 cuando bit 5 está prendida&lt;br /&gt;
Su número 1 se cambia a 65 cuando bit 6 está prendida&lt;br /&gt;
Su número 1 se cambia a 129 cuando bit 7 está prendida&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 2&lt;br /&gt;
Su número 2 se cambia a 3 cuando bit 0 está prendida&lt;br /&gt;
Su número 2 se cambia a 2 cuando bit 1 está prendida&lt;br /&gt;
Su número 2 se cambia a 6 cuando bit 2 está prendida&lt;br /&gt;
Su número 2 se cambia a 10 cuando bit 3 está prendida&lt;br /&gt;
Su número 2 se cambia a 18 cuando bit 4 está prendida&lt;br /&gt;
Su número 2 se cambia a 34 cuando bit 5 está prendida&lt;br /&gt;
Su número 2 se cambia a 66 cuando bit 6 está prendida&lt;br /&gt;
Su número 2 se cambia a 130 cuando bit 7 está prendida&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 3 cuando bit 0 está prendida&lt;br /&gt;
Su número 3 se cambia a 3 cuando bit 1 está prendida&lt;br /&gt;
Su número 3 se cambia a 7 cuando bit 2 está prendida&lt;br /&gt;
Su número 3 se cambia a 11 cuando bit 3 está prendida&lt;br /&gt;
Su número 3 se cambia a 19 cuando bit 4 está prendida&lt;br /&gt;
Su número 3 se cambia a 35 cuando bit 5 está prendida&lt;br /&gt;
Su número 3 se cambia a 67 cuando bit 6 está prendida&lt;br /&gt;
Su número 3 se cambia a 131 cuando bit 7 está prendida&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 8&lt;br /&gt;
Su número 8 se cambia a 9 cuando bit 0 está prendida&lt;br /&gt;
Su número 8 se cambia a 10 cuando bit 1 está prendida&lt;br /&gt;
Su número 8 se cambia a 12 cuando bit 2 está prendida&lt;br /&gt;
Su número 8 se cambia a 8 cuando bit 3 está prendida&lt;br /&gt;
Su número 8 se cambia a 24 cuando bit 4 está prendida&lt;br /&gt;
Su número 8 se cambia a 40 cuando bit 5 está prendida&lt;br /&gt;
Su número 8 se cambia a 72 cuando bit 6 está prendida&lt;br /&gt;
Su número 8 se cambia a 136 cuando bit 7 está prendida&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 16&lt;br /&gt;
Su número 16 se cambia a 17 cuando bit 0 está prendida&lt;br /&gt;
Su número 16 se cambia a 18 cuando bit 1 está prendida&lt;br /&gt;
Su número 16 se cambia a 20 cuando bit 2 está prendida&lt;br /&gt;
Su número 16 se cambia a 24 cuando bit 3 está prendida&lt;br /&gt;
Su número 16 se cambia a 16 cuando bit 4 está prendida&lt;br /&gt;
Su número 16 se cambia a 48 cuando bit 5 está prendida&lt;br /&gt;
Su número 16 se cambia a 80 cuando bit 6 está prendida&lt;br /&gt;
Su número 16 se cambia a 144 cuando bit 7 está prendida&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 32&lt;br /&gt;
Su número 32 se cambia a 33 cuando bit 0 está prendida&lt;br /&gt;
Su número 32 se cambia a 34 cuando bit 1 está prendida&lt;br /&gt;
Su número 32 se cambia a 36 cuando bit 2 está prendida&lt;br /&gt;
Su número 32 se cambia a 40 cuando bit 3 está prendida&lt;br /&gt;
Su número 32 se cambia a 48 cuando bit 4 está prendida&lt;br /&gt;
Su número 32 se cambia a 32 cuando bit 5 está prendida&lt;br /&gt;
Su número 32 se cambia a 96 cuando bit 6 está prendida&lt;br /&gt;
Su número 32 se cambia a 160 cuando bit 7 está prendida&lt;br /&gt;
&lt;br /&gt;
Dame un número positivo entre 0 y 255 (&amp;lt;Enter&amp;gt; para terminar): 358&lt;br /&gt;
Su entrada está fuera del rango especificado&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>Rrc</name></author>
		
	</entry>
</feed>