Laden...

Forenbeiträge von ayykaramba Ingesamt 10 Beiträge

11.11.2020 - 06:04 Uhr

Kannst du das genauer erklären? Gibt es immer noch Bereiche wo bitweise gespeichert wird? Welche sonstigen Vorteile bietet es?

10.11.2020 - 17:47 Uhr

Mit dem Link von dannoe (auch deutsche Wikipedia Seite) hab ich nun glaube ich die Antwort gefunden wie ich sie wollte, falls es noch jemanden interessiert:

In jeder Adressleitungen von Datenbussen können 2 Speicherzellen (Bits) adressiert werden. Somit können bei n Adressleitung 2n Speicherzellen adressiert werden. Zu Beginn der Computertechnik hat man noch keine Präfixe benötigt da jeder Speicherstein sehr klein war. Somit hat man die Speichersteingröße anhand vom binären Zahlensystem aufgebaut, da man dadurch keinen Speicherstein mit einer ungeraden Anzahl von Speicherzellen aufbaut.
Die üblichen Speichergrößen (1 GB, 1 KB usw) beziehen sich darauf. z.B. 1KB = 2
10 Speicherzellen/Bits = 1024 Speicherzellen/Bits.

Ich denke mal aus heutiger Sicht würde man das dezimal System einführen, um hier keine Verwirrung zu stiften. Man rechnet ja heutzutage ja auch Byteweise (jeweils 8 Bit) und nicht Bitweise was es auch schon ausschließt Speichersteine mit ungeraden Speicherzellen zu bauen.

08.11.2020 - 15:51 Uhr

danke dannoe!

Das war ne Antwort auf die Frage! 😄

08.11.2020 - 15:00 Uhr

Ja sorry aber nachdem du drei mal meine Frage nicht beantwortet hast.. Und ausserdem hast du damit angefangen in dem du schreibst "da hast du wohl in der schule nicht aufgepasst". Aber lass uns zu einer sachlichen Diskussion zurück kommen.
In deinem letzten Beitrag hast du wohl den wink auf die richtige Spur gegeben. Die 2 in 2^10 hat mir bereits suggeriert dass es sich um ein binäres System handelt(wie bereits in meinem vorletzten Post geschrieben). Mir ist bewusst dass bits binär sind aber warum werden bytes binär gezählt? Ein Byte ist doch nicht binär? Sondern trägt die Information von 0 bis 256. Das war auch meine Ausgangsfrage!

08.11.2020 - 14:28 Uhr

Ich glaub du liest gar nicht meine Nachrichten.. Wie bereits geschrieben weiss ich was mathematisch 2^10 bedeutet. Darum versteh ich auch nicht wieso du das jetzt ausschreibst.

Die Frage ist: Warum (!!) rechnen wir 2^10? Warum ist ein Kilo bei bytes nicht der gleicher Faktor wie er zum Beispiel bei Kilogramm ist? 1kg ist 1000 gramm. Warum ist 1kB nicht auch 1000 bytes?

08.11.2020 - 13:04 Uhr

ein Kilo hat 10 bytes? Nein ein Kilo entspricht 1000 in der Mathematik!

Was 2^10 ergibt weiß ich, aber wie kommt man auf die Rechnung? Warum 2 hoch 10?
Bei der Rechnung wird suggeriert dass ein Byte nur 0 oder eins sein kann. Aber ein Byte besteht doch aus 8 bits und kann deshalb unterschiedliche Zustände haben. Oder versteh ich das falsch?

08.11.2020 - 12:45 Uhr

Das ist so ziemlich der erste link den man bei Google findet und den hab ich auch bereits gefunden. In dem link wird es nicht ausreichend erklärt finde ich. Warum 2^10?

08.11.2020 - 12:20 Uhr

Hallo,

absolute Grundlagenfrage! Ich weiß! Ich verstehe es trotzdem nicht.

Ich weiß, dass 1 Byte aus 8 bit bestehen die jeweils 2 Zustände haben können. Also 1 Byte kann 256 verschiedene Zustände abbilden (2^8). Somit ist ein Byte ein definierter Datenblock.

1 kB = 1024 bytes gilt streng genommen nicht für 1 Kilobyte sonder für 1 Kibibyte. In der Regel spricht aber trotzdem jeder von 1 Kilobyte nach meiner Erfahrung.
Wenn ich google warum nun 1kB = 1024 bytes ist, stoße ich auf die Erklärung: "Weil 2^10 = 1024 ist und diese Potenz an die 1000 am nächsten ran kommt".
Das ist für mich aber keine ausreichende Erklärung. Warum sollte man das so rechnen?

Vielen Dank

18.10.2020 - 17:48 Uhr

danke dir. Das ist wohl der Unterschied zur Referenz innerhalb einer Klasse!

zu deinem PS:
Meine Tetris Bausteine bestehen aus jeweils 4 gleich großen Panels die je nach Bausteinform anders angeordnet sind (wie beim originalen Tetris). Der Grund warum ich eine Vererbung hier gemacht habe ist, dass ich nach Initialisierung der Panel Eigenschaften (Location, Size) in Bausteinform1 die Panels zu Controls von Form1 hinzufügen möchte.

Control.Add(p0); 
Control.Add(p1);
Control.Add(p2);
Control.Add(p3);

ohne die Vererbung hat das bei mir nicht geklappt. Auch nicht mit Form1.Controls.Add(p0);
Aber das vermutlich wieder ein Anfängerfehler von mir? Was spricht denn gegen eine Vererbung hier?

18.10.2020 - 17:08 Uhr

Hallo zusammen,

ich bin gerade dabei mich mit einem Fachbuch in C# einzuarbeiten und mache gerade ein Übungsprojekt in dem ich Tetris programmieren möchte. Ich habe Probleme mit dem übergeben per Referenz von Variablen. Im Fachbuch ist ein Beispiel das innerhalb der gleichen Klasse funktioniert, aber wie verhält sich das, wenn ich den Wert in eine andere Klasse übergebe?

Ich habe die Klasse Form1 und die Klasse Bausteinform1. Nun möchte ich in Form1 die Methode erstellen() von Bausteinform1 aufrufen und hierbei eine Variable aus Form1 mitliefern. Diese Variable wird in der Methode erstellen() verändert und der veränderte Wert soll nun auch für die Originalvariable von Form1 gelten.

Im folgenden ist eine vereinfachte Darstellung wie ich es probiert habe. Mit einem return möchte ich hier nicht arbeiten, da ich nicht nur int variablen verändern möchte sondern auch panels mitliefere.

public partial class Form1:Form
{
public int variable = 0;

Bausteinform1 neueBausteinform1 = new Bausteinform1();
neueBausteinform1.erstellen(ref variable);
}

class Bausteinform1:Form1
{


public void erstellen(int variable)
{
variable++;
}
}

Kann mir jemand sagen was ich falsch mache?
Es wird mir der Fehler "Das Argument 1 kann nicht mit dem Schlüsselwort "ref" übergeben werden"