byte i = 0;
int l = 0;
word m = 0;
char A = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
}
void aufgabe1a()
{
float j = 2.5;
int k = i + j;
Serial.println(k);
delay(500); //optional. Dadurch, dass die Methode durch einen Loop ausgeführt wird
// ohne Zähler, wird diese Methode bis zur Unterbrechung von Außen durchgeführt.
/*Das Ergebnis ist nicht korrekt, da int nur ganzzahlige Variablen speichern kann.
Somit gehen die Nachkommastellen verloren*/
}
void aufgabe1b1()
{
Serial.println(i);
i = i+1;
delay(200);
/* 1 byte = 8 bit = Zahlen von 0-255
Wenn dieser Wert überschritten wird, entsteht ein Overflow.
Der Zähler startet erneut von 0, also vom Minimalwert aus.
Der vorherige Wert geht dabei verloren. */
}
void aufgabe1b21()
{
Serial.println(l);
l = l+1;
delay(200);
/* int = 16 bit = Zahlen von -32768-232767
Wenn dieser Wert überschritten wird, entsteht ein Overflow.
Der Zähler startet erneut vom Minimalwert aus.
Der Maximalwert von der Zählervariable wird somit erweitert.
Dennoch ist ein Integer vorzeichenbehaftet
Bei einem Zählstart ab 0 können also nur die Positiven Zahlen genutzt werden */
}
void aufgabe1b22()
{
Serial.println(m);
m = m+1;
delay(200);
/* word = 16 bit = Zahlen von 0-65535
Wenn dieser Wert überschritten wird, entsteht ein Overflow.
Der Zähler startet erneut vom Minimalwert aus.
Der Maximalwert von der Zählervariable wird somit erweitert.
Eine word Variable kann nur ganze, positive Zahlen speichern */
}
void aufgabe1c()
{
Serial.println(A);
A = A+1;
delay(200);
/* char wird genutzt um eine "character value" zu speichern.
Jeder Buchstabe bzw. jedes Schreibzeichen wird einem bestimmten Wert zugeordnet.
Somit können Texte (strings) ausgegeben und gespeichert werden.
Mit dem Hochzählen verändert man allerdings den value.
Dementsprechend wird auch immer ein anderes Zeichen auf de Seriellen Monitor ausgegeben.
char hat mindestens 8 bit. Ein unsigned char immer 8. */
}
void aufgabe1d()
{
byte num = 15;
num +=1;
Serial.println(num);
byte Num = num /=4;
Serial.println(Num);
}
void aufgabe1e()
{
/* DATENTYPKONVERSIONEN
byte
Converts a value to the byte data type.
Allowed data types: any type.
returns a byte
char
converts a value to the char data type.
any data types allowed
returns a char
float
converts a value to the float data type.
any data types allowed
returns a float
int
converts a value to the int data type.
any data types allowed
returns a int
long
converts a value to the long data type.
any data types allowed
returns a long
word
converts a value to the word data type.
any data types allowed
returns a word
unsigned int
converts a value to the unsigned int data type.
any data types allowed
returns a unsigned int
unsigned long
converts a value to the unsigned long data type.
any data types allowed
returns a unsigned long
-> sobald ein Datentyp in einem neuen gespeichert wird, ändert sich auch der
Datentyp des alten zum neuen. will man zum beispiel int = int + float rechnen, wird
ein int ausgegeben. */
}