<?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%2FProg126</id>
	<title>Curso de Programación en C/Prog126 - 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%2FProg126"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog126&amp;action=history"/>
	<updated>2026-05-07T04:03:50Z</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/Prog126&amp;diff=4187&amp;oldid=prev</id>
		<title>Rrc: /* Resultado */</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog126&amp;diff=4187&amp;oldid=prev"/>
		<updated>2012-10-14T09:29:00Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Resultado&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;
* [[:#Prog126 | Operadores de Bit Fiddling]]&lt;br /&gt;
** [[:#Resultado | Resultado]]&lt;br /&gt;
** [[:#Explicación | Explicación]]&lt;br /&gt;
&lt;br /&gt;
== Prog126 ==&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;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
  /* Bit Fiddling&lt;br /&gt;
   *&lt;br /&gt;
   * Bitwise logical operadores, unary operadores&lt;br /&gt;
   * ~, &amp;amp;,  |   y  ^&lt;br /&gt;
   *    &amp;amp;=, |=  y  ^=&lt;br /&gt;
   * &amp;gt;&amp;gt;, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt; y &amp;lt;&amp;lt;=&lt;br /&gt;
   *&lt;br /&gt;
   */&lt;br /&gt;
&lt;br /&gt;
  unsigned int i,&lt;br /&gt;
	       Num;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;\nOnes Complement o Bitwise negación o Not operador \&amp;quot;~\&amp;quot;&amp;quot; );&lt;br /&gt;
  for( Num = 4294967295; Num &amp;gt; 4294967284; Num-- )&lt;br /&gt;
    printf( &amp;quot;\t~%u o ~%x = %u o %x\n&amp;quot;, Num, Num, ~Num, ~Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;\nBitwise AND \&amp;quot;&amp;amp;\&amp;quot;&amp;quot; );&lt;br /&gt;
  for( Num = 0xffff; Num &amp;gt; 0xfff4; Num-- )&lt;br /&gt;
    printf( &amp;quot;\t(65535 &amp;amp; %d) o (ffff &amp;amp; %x) = %u o %x\n&amp;quot;,&lt;br /&gt;
		                Num, Num, 0xffff &amp;amp; Num, 0xffff &amp;amp; Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
  puts( &amp;quot;Puedes usar el operador \&amp;quot;&amp;amp;=\&amp;quot; también&amp;quot; );&lt;br /&gt;
  Num = 0xffff;&lt;br /&gt;
  Num &amp;amp;= 0xfff5;&lt;br /&gt;
  printf( &amp;quot;Num &amp;amp;= 0xfff5 nos da %x\n&amp;quot;, Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;\nBitwise OR \&amp;quot;|\&amp;quot;&amp;quot; );&lt;br /&gt;
  for( Num = 0; Num &amp;lt; 11; Num++ )&lt;br /&gt;
    printf( &amp;quot;\t(0 | %d) o (0000 | %x) = %u o %x\n&amp;quot;,&lt;br /&gt;
		                Num, Num, 0 | Num, 0 | Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
  puts( &amp;quot;Puedes usar el operador \&amp;quot;|=\&amp;quot; también&amp;quot; );&lt;br /&gt;
  Num = 0;&lt;br /&gt;
  Num |= 5;&lt;br /&gt;
  printf( &amp;quot;Num |= 5 nos da %x\n&amp;quot;, Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;\nBitwise XOR \&amp;quot;^\&amp;quot;&amp;quot; );&lt;br /&gt;
  for( Num = 65535; Num &amp;gt; 65524; Num-- )&lt;br /&gt;
    printf( &amp;quot;\t(65535 ^ %d) o (ffff ^ %x) = %u o %x\n&amp;quot;,&lt;br /&gt;
		                Num, Num, 65535 ^ Num, 65535 ^ Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
  puts( &amp;quot;Puedes usar el operador \&amp;quot;^=\&amp;quot; también&amp;quot; );&lt;br /&gt;
  Num = 65535;&lt;br /&gt;
  Num ^= 65528;&lt;br /&gt;
  printf( &amp;quot;Num ^= 65528 nos da %x\n&amp;quot;, Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;Existe el shift al ezquierda operador \&amp;quot;&amp;lt;&amp;lt;\&amp;quot;&amp;quot; );&lt;br /&gt;
  Num = 0xffffffff;&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;lt;&amp;lt; 1) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;lt;&amp;lt; 1), Num );&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;lt;&amp;lt; 2) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;lt;&amp;lt; 2), Num );&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;lt;&amp;lt; 3) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;lt;&amp;lt; 3), Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
  puts( &amp;quot;Puedes usar el operador \&amp;quot;&amp;lt;&amp;lt;=\&amp;quot; también&amp;quot; );&lt;br /&gt;
  Num = 0xffffffff;&lt;br /&gt;
  for( i = 1; i &amp;lt; 9; i++ )&lt;br /&gt;
  {&lt;br /&gt;
    Num &amp;lt;&amp;lt;= i;&lt;br /&gt;
    printf( &amp;quot;\tDespués de (Num &amp;lt;&amp;lt;= %d), &amp;quot;&lt;br /&gt;
            &amp;quot;Num se cambio a %08x en manera permanente\n&amp;quot;, i, Num );&lt;br /&gt;
  }&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
&lt;br /&gt;
  puts( &amp;quot;Existe el shift a la derecha operador \&amp;quot;&amp;gt;&amp;gt;\&amp;quot;&amp;quot; );&lt;br /&gt;
  Num = 0xffffffff;&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;gt;&amp;gt; 1) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;gt;&amp;gt; 1), Num );&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;gt;&amp;gt; 2) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;gt;&amp;gt; 2), Num );&lt;br /&gt;
  printf( &amp;quot;\t(Num &amp;gt;&amp;gt; 3) Nos da %x y después Num = %x\n&amp;quot;, (Num &amp;gt;&amp;gt; 3), Num );&lt;br /&gt;
  puts( &amp;quot;\nPresión &amp;lt;Enter&amp;gt; para continuar&amp;quot; );&lt;br /&gt;
  while( ( Num = getchar() ) != &amp;#039;\n&amp;#039; );&lt;br /&gt;
    ;&lt;br /&gt;
  puts( &amp;quot;Puedes usar el operador \&amp;quot;&amp;gt;&amp;gt;=\&amp;quot; también&amp;quot; );&lt;br /&gt;
  Num = 0xffffffff;&lt;br /&gt;
  for( i = 1; i &amp;lt; 9; i++ )&lt;br /&gt;
  {&lt;br /&gt;
    Num &amp;gt;&amp;gt;= i;&lt;br /&gt;
    printf( &amp;quot;\tDespués de (Num &amp;gt;&amp;gt;= %d), &amp;quot;&lt;br /&gt;
            &amp;quot;Num se cambio a %08x en manera permanente\n&amp;quot;, i, Num );&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 Prog126 Prog126.c &lt;br /&gt;
[rrc@AbelLap CClase]$ ./Prog126&lt;br /&gt;
&lt;br /&gt;
Ones Complement o Bitwise negación o Not operador &amp;quot;~&amp;quot;&lt;br /&gt;
	~4294967295 o ~ffffffff = 0 o 0&lt;br /&gt;
	~4294967294 o ~fffffffe = 1 o 1&lt;br /&gt;
	~4294967293 o ~fffffffd = 2 o 2&lt;br /&gt;
	~4294967292 o ~fffffffc = 3 o 3&lt;br /&gt;
	~4294967291 o ~fffffffb = 4 o 4&lt;br /&gt;
	~4294967290 o ~fffffffa = 5 o 5&lt;br /&gt;
	~4294967289 o ~fffffff9 = 6 o 6&lt;br /&gt;
	~4294967288 o ~fffffff8 = 7 o 7&lt;br /&gt;
	~4294967287 o ~fffffff7 = 8 o 8&lt;br /&gt;
	~4294967286 o ~fffffff6 = 9 o 9&lt;br /&gt;
	~4294967285 o ~fffffff5 = 10 o a&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitwise AND &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
	(65535 &amp;amp; 65535) o (ffff &amp;amp; ffff) = 65535 o ffff&lt;br /&gt;
	(65535 &amp;amp; 65534) o (ffff &amp;amp; fffe) = 65534 o fffe&lt;br /&gt;
	(65535 &amp;amp; 65533) o (ffff &amp;amp; fffd) = 65533 o fffd&lt;br /&gt;
	(65535 &amp;amp; 65532) o (ffff &amp;amp; fffc) = 65532 o fffc&lt;br /&gt;
	(65535 &amp;amp; 65531) o (ffff &amp;amp; fffb) = 65531 o fffb&lt;br /&gt;
	(65535 &amp;amp; 65530) o (ffff &amp;amp; fffa) = 65530 o fffa&lt;br /&gt;
	(65535 &amp;amp; 65529) o (ffff &amp;amp; fff9) = 65529 o fff9&lt;br /&gt;
	(65535 &amp;amp; 65528) o (ffff &amp;amp; fff8) = 65528 o fff8&lt;br /&gt;
	(65535 &amp;amp; 65527) o (ffff &amp;amp; fff7) = 65527 o fff7&lt;br /&gt;
	(65535 &amp;amp; 65526) o (ffff &amp;amp; fff6) = 65526 o fff6&lt;br /&gt;
	(65535 &amp;amp; 65525) o (ffff &amp;amp; fff5) = 65525 o fff5&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Puedes usar el operador &amp;quot;&amp;amp;=&amp;quot; también&lt;br /&gt;
Num &amp;amp;= 0xfff5 nos da fff5&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitwise OR &amp;quot;|&amp;quot;&lt;br /&gt;
	(0 | 0) o (0000 | 0) = 0 o 0&lt;br /&gt;
	(0 | 1) o (0000 | 1) = 1 o 1&lt;br /&gt;
	(0 | 2) o (0000 | 2) = 2 o 2&lt;br /&gt;
	(0 | 3) o (0000 | 3) = 3 o 3&lt;br /&gt;
	(0 | 4) o (0000 | 4) = 4 o 4&lt;br /&gt;
	(0 | 5) o (0000 | 5) = 5 o 5&lt;br /&gt;
	(0 | 6) o (0000 | 6) = 6 o 6&lt;br /&gt;
	(0 | 7) o (0000 | 7) = 7 o 7&lt;br /&gt;
	(0 | 8) o (0000 | 8) = 8 o 8&lt;br /&gt;
	(0 | 9) o (0000 | 9) = 9 o 9&lt;br /&gt;
	(0 | 10) o (0000 | a) = 10 o a&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Puedes usar el operador &amp;quot;|=&amp;quot; también&lt;br /&gt;
Num |= 5 nos da 5&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitwise XOR &amp;quot;^&amp;quot;&lt;br /&gt;
	(65535 ^ 65535) o (ffff ^ ffff) = 0 o 0&lt;br /&gt;
	(65535 ^ 65534) o (ffff ^ fffe) = 1 o 1&lt;br /&gt;
	(65535 ^ 65533) o (ffff ^ fffd) = 2 o 2&lt;br /&gt;
	(65535 ^ 65532) o (ffff ^ fffc) = 3 o 3&lt;br /&gt;
	(65535 ^ 65531) o (ffff ^ fffb) = 4 o 4&lt;br /&gt;
	(65535 ^ 65530) o (ffff ^ fffa) = 5 o 5&lt;br /&gt;
	(65535 ^ 65529) o (ffff ^ fff9) = 6 o 6&lt;br /&gt;
	(65535 ^ 65528) o (ffff ^ fff8) = 7 o 7&lt;br /&gt;
	(65535 ^ 65527) o (ffff ^ fff7) = 8 o 8&lt;br /&gt;
	(65535 ^ 65526) o (ffff ^ fff6) = 9 o 9&lt;br /&gt;
	(65535 ^ 65525) o (ffff ^ fff5) = 10 o a&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Puedes usar el operador &amp;quot;^=&amp;quot; también&lt;br /&gt;
Num ^= 65528 nos da 7&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Existe el shift al ezquierda operador &amp;quot;&amp;lt;&amp;lt;&amp;quot;&lt;br /&gt;
	(Num &amp;lt;&amp;lt; 1) Nos da fffffffe y después Num = ffffffff&lt;br /&gt;
	(Num &amp;lt;&amp;lt; 2) Nos da fffffffc y después Num = ffffffff&lt;br /&gt;
	(Num &amp;lt;&amp;lt; 3) Nos da fffffff8 y después Num = ffffffff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Puedes usar el operador &amp;quot;&amp;lt;&amp;lt;=&amp;quot; también&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 1), Num se cambio a fffffffe en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 2), Num se cambio a fffffff8 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 3), Num se cambio a ffffffc0 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 4), Num se cambio a fffffc00 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 5), Num se cambio a ffff8000 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 6), Num se cambio a ffe00000 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 7), Num se cambio a f0000000 en manera permanente&lt;br /&gt;
        Después de (Num &amp;lt;&amp;lt;= 8), Num se cambio a 00000000 en manera permanente&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Existe el shift a la derecha operador &amp;quot;&amp;gt;&amp;gt;&amp;quot;&lt;br /&gt;
        (Num &amp;gt;&amp;gt; 1) Nos da 7fffffff y después Num = ffffffff&lt;br /&gt;
        (Num &amp;gt;&amp;gt; 2) Nos da 3fffffff y después Num = ffffffff&lt;br /&gt;
        (Num &amp;gt;&amp;gt; 3) Nos da 1fffffff y después Num = ffffffff&lt;br /&gt;
&lt;br /&gt;
Presión &amp;lt;Enter&amp;gt; para continuar&lt;br /&gt;
&lt;br /&gt;
Puedes usar el operador &amp;quot;&amp;gt;&amp;gt;=&amp;quot; también&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 1), Num se cambio a 7fffffff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 2), Num se cambio a 1fffffff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 3), Num se cambio a 03ffffff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 4), Num se cambio a 003fffff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 5), Num se cambio a 0001ffff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 6), Num se cambio a 000007ff en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 7), Num se cambio a 0000000f en manera permanente&lt;br /&gt;
        Después de (Num &amp;gt;&amp;gt;= 8), Num se cambio a 00000000 en manera permanente&lt;br /&gt;
&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>