View Single Post
m0b
m0b's Avatar
DonorAdministrator
Dette er bit-operasjoner. Den første linja gjør en venstre bitshift på PIN3, for deretter å bruke en OR-operasjon for å slå på biten han ønsker. Har ikke tiden nå til å skrive en detaljert beskrivelse av operasjonene, men kan visualisere verdiene fortløpende veldig kjapt med en liten kodesnutt i C#. Les litt i linkene jeg henviser til, så skjønner du det nok mye bedre.

Denne koden kan kanskje visualisere litt bedre hva han gjør:

Kode

class MainClass
{
	public static void Main (string[] args)
	{
		int DDRB = 16;
		Console.WriteLine( toBinary(DDRB) );
		
		int PIN3 = 2;
		Console.WriteLine( toBinary(PIN3) );
		
		PIN3 = 1 << PIN3;
		Console.WriteLine( toBinary(PIN3) );
		
		DDRB = DDRB | PIN3;
		Console.WriteLine( toBinary(DDRB) );
		
		Console.ReadKey();
	}
	
	private static string toBinary( int input )
	{
		return Convert.ToString( input, 2 );	
	}
}
Utput av koden

Kode

10000
10
100
10100
Da kan du sikkert tenke deg hva neste linje gjør?

http://www.gamedev.net/reference/art...rticle1563.asp
http://en.wikipedia.org/wiki/Bitwise_operation
Sist endret av m0b; 25. desember 2010 kl. 16:48.