Skip to content

Instantly share code, notes, and snippets.

View Fhernd's full-sized avatar
💭
Never stop learning!

John Ortiz Ordoñez Fhernd

💭
Never stop learning!
View GitHub Profile
@Fhernd
Fhernd / OperadorAND.cs
Created July 23, 2013 00:03
Demostración de la operación bitwise AND en C#.
class OperadorAND
{
static void Main()
{
byte A = 121;
byte B = 113;
byte resultado =(byte) (A & B);
Console.WriteLine(Convert.ToString(resultado,2)); // Imprime 1110001
@Fhernd
Fhernd / OperadorOR.cs
Created July 23, 2013 00:50
Demostración del operador bitwise OR inclusivo.
class OperadorOR
{
static void Main()
{
byte A = 39;
byte B = 42;
byte resultado = (byte) (A|B);
Console.WriteLine(Convert.ToString(resultado,2)); // Imprime 101111
@Fhernd
Fhernd / OperadorXOR.cs
Created July 23, 2013 01:53
Demostración del operador XOR (^) en C#.
class OperadorXOR
{
static void Main()
{
byte A = 17;
byte B = 29;
byte resultado = (byte)(A ^ B);
Console.WriteLine(Convert.ToString(resultado, 2)); // Imprime 1100
@Fhernd
Fhernd / DesplazamientoIzquierda.cs
Created July 24, 2013 02:42
Demostración de operador desplazamiento a la izquierda (left shift) en lenguaje C#.
class DesplazamientoIzquierda
{
static void Main()
{
byte byte1 = 7;
byte byte2 = (byte)(byte1 << 3);
Console.WriteLine(byte2); // Imprime: 56
}
}
@Fhernd
Fhernd / DesplazamientoIzquierdaPotenciasDeDos.cs
Created July 24, 2013 03:03
Demostración de la mejora de rendimiento con operador bitwise desplazamiento a la izquierda para potencias de 2.
class DesplazamientoIzquierdaPotenciasDeDos
{
static void Main()
{
System.Diagnostics.Stopwatch cronometro = new System.Diagnostics.Stopwatch();
cronometro.Start();
byte potenciaConBitwise = 1 << 7;
cronometro.Stop();
Console.WriteLine("Tiempo transcurrido: {0}", cronometro.Elapsed.TotalMilliseconds); // 0.0020 (puede variar)
cronometro.Reset();
@Fhernd
Fhernd / DesplazamientoDerecha.cs
Created July 24, 2013 03:37
Demostración uso operador bitwise desplazamiento derecha en C#.
class DesplazamientoDerecha
{
static void Main()
{
byte byte1 = 7;
byte byte2 = (byte)(byte1 >> 2);
Console.WriteLine(byte2); // Imprime: 1 (decimal)
}
}
@Fhernd
Fhernd / RendimientoDesplazamientoDerecha.cs
Created July 24, 2013 03:50
Demostración de las ventajas de rendimiento del operador bitwise desplazamiento a la derecha (Right shift) en C#.
class RendimientoDesplazamientoDerecha
{
static void Main()
{
System.Diagnostics.Stopwatch cronometro = new System.Diagnostics.Stopwatch();
cronometro.Start();
byte divisionConBitWise = 3 >> 2;
cronometro.Stop();
Console.WriteLine("Tiempo transcurrido: {0}", cronometro.Elapsed.TotalMilliseconds); // 0.0005 (puede variar)
cronometro.Reset();
@Fhernd
Fhernd / DivisionPorCeroValoresInfinitos.cs
Created July 24, 2013 23:55
Demostración de operaciones que producen valores infinitos positivos y negativos en código fuente C#.
class DivisionPorCeroValoresInfinitos
{
static void Main()
{
Console.WriteLine(1.0 / 0.0); // Infinity
Console.WriteLine(-1.0 / 0.0); // -Infinity
Console.WriteLine(1.0 / -0.0); // -Infinity
Console.WriteLine(-1.0 / -0.0); // Infinity
}
}
@Fhernd
Fhernd / doubleVSdecimal.cs
Last active December 20, 2015 05:49
Prueba del rendimiento de tipos de punto flotante y float en C#.
class doubleVSdecimal
{
static void Main()
{
Random aleatorio = new Random();
decimal[] decimales = new decimal[100];
double[] doubles = new double[100];
for (int i = 0; i < 100; i++)
@Fhernd
Fhernd / AgnioParOImpar.cs
Created August 6, 2013 23:57
Demostración del uso de variables de tipo bool.
class AgnioParOImpar
{
static void Main()
{
bool b = true;
// esta línea convierte de manera automática el valor de la variable b a texto
Console.WriteLine(b);
// obtiene el día del año