Float Integer String! Wat?
Übersicht

![]() |
Abenteurer036Betreff: Float Integer String! Wat? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
hab da mal ne Frage die mich seid Anfang an Quält und die ich mir nicht beantworten kann. Was bringt Float, Integer und co.? Und was ist was... ist "#" das ein String oder "%" ein Float? Bringt es was sie ans Ende einer Variable zu hängen oder ist das nur Zierde? Wäre euch sehr verbunden wenn mir einer ne komplette Liste ziegt wo das alles aufgelistet ist mit funktion und allem. Weil ich blick da nich ganz durch =__= MfG Abenteurer036 |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm... ernsthaft jetzt? Wie lang bist du jetzt am programmieren? Und was möchtest du wissen?
In jedem Fall ![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke!! ![]() Ich Programmiere schon ca 4 Jahre. Bis jetz zwar noch nix brauchbares aber meine Codes funktionierten auch immer ohne. Bringt es wirklich mehr oder wozu sind die gut? |
||
New Project [4%]
Schinken Maker [100%] |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Was meinst du mit liste? Ich kann dir nur sagen, das ein Integer eine Ganze Zahl ist, und im RAM normalerweise 4 Bytes belegt. Ein String ist im grunde genommen auch nur ein Integer, nur halt als Array (Auch wenn dies so nicht in BB oder BMax angezeigt wird). Nun eine String (Zeichen - kette) enthält die IDs aus dem ASCII Zeichencode. Ein Float wird jedoch anders gespeichert, als ein integer (deshalb unterscheidet man beim programmieren eigentlich auch nur zwischen 2 Daten-Typen: Integer (Ganzzahl) oder Floating Point Number (Fließkommazahl)). Zu den Zeichen: in BB ist es üblich, seine Variablen nicht mit voransetzen des Datentyps zu deklarieren, Bsp.: in C: "int variable = 3;" ) ist eine variable vom typ Integer, sondern der Variablentyp wird durch das anhängen der zeichen (%, #, $) bestimmt. Eine variable, die mit einem % gekennzeichnet ist, ist ein Integer. Eine # kennzeichnet eine Floating Point Number und ein $ kennzeichnet einen String. ich hoffe ich konnte helfen, mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
BaseTH |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Abenteurer036
Was hast du denn bisher so programmiert wenn du diese Grundlagen nicht kennst? Die Datentypen lernt man doch als erstes mit. Gruß, BaseTH |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Davon stand nichts in meinem Buch... "Programmieren für Kids"
Also bringt es was das "#,$,%" hinten anzuhängen oder nicht? |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du nie Text oder Kommazahlen brauchst... nein, dann brauchst du die nie. ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok Danke nochmals...
das war schon alles was ich wissen wollte. ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
BaseTH |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Abenteurer036
Ich habe das Buch "Programmieren für Kids" auch. Deine Frage wird in dem Buch behandelt und beantwortet. Habe es mir gerade aus meinem Schrank geholt. Auf Seite 52/53 und 79 so mal als kleines Beispiel. Gruß, BaseTH |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habs auch noch nicht ganz durchgelesen. Ich blick bei dem Buch nicht durch, hab mir das meiste dank der BP Hilfe selbst beigebracht. | ||
New Project [4%]
Schinken Maker [100%] |
![]() |
BaseTH |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Abenteurer036
Wo ist denn das Problem bei dem Buch. Dieses ist doch sehr einfach, halt für Kinder, geschrieben. Wenn Fragen sind kannst du hier gerne im Forum fragen. Wir helfen so gut wir es können. ![]() Gruß, BaseTH |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joah... ich bin nichtmal mehr im besitz des Buches^^
Habs vor 4 Jahren geschenkt bekommen und seid 2 Jahren verschollen. ![]() ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich frag mich grad echt wie man es schaffen kann, ohne die wesentlichen Grundkenntnisse überhaupt durchzublicken !?
Also als Anfänger war das eins der ersten Fragen die ich hatte - Nicht jetzt, nach 4 Jahren oO Zu deiner Frage: die "% $ #" Zeichen sind in manchen Fällen sogar sehr viel Wert. Da es sich bei einem "Integer" (Ganzzahl) um den Standart-Datentyp handelt, kann in diesem Fall das % weggelassen werden. Trotzdem wird die Variable als Integer deklariert. Möchtest du allerdings Kommerzahlen speichern (Bspw. 0.01), dann würde dir Blitz in eine Integer Variable nur den Wert "0" reinschreiben, weil das die nächste Ganzzahl von 0.01 ist (Auf oder Abgerundet). Deswegen bräuchtest du für diesen Fall eine Float-Variable (Fließkommer). Damit Blitz allerdings weiß, das du jetzt eine Variable von dem Typ "Float" benutzen willst, musst du beim ersten Aufruf der Variable im Chronologischen Ablauf des Programms ein "#" dahinter schreiben, oder, am besten Alle Variable vorher mit Local ![]() ![]() Nochwas: Sobald Blitz weiß, von welchem Datentyp eine Variable sein soll (Also das weiß Blitz ab dem ersten Aufruf), so kann der Datentyp im kompletten Verlauf des Programms weggelassen werden. Allerdings rate ich dazu, trotzdem den Datentyp immer mit anzugeben, um einfach nicht immer nachgucken zu müssen wie die Variable jetzt deklariert wurde ![]() mfg ToeB PS.: Bevor noch weitere solche Fragen deinerseits hier auftauchen, arbeite das Buch nochmal Schritt für Schritt durch, dann sollten sich deine Fragen meinstens von alleine Lösen. |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eine kleine zusammenfassung, was mir grade so einfällt. Um dich mehr zu verwirren ![]() Long ist ein ganzzahlen typ, er belegt 8 byte. Integer ist der Standarttyp. Ein Integer hat 4 Byte. Short ist ein weiterer Ganzzahlen typ. Er belegt nur 2 Byte Byte ist ein dritter Ganzzahlen typ. Er belegt 1 byte ![]() Ein byte hat ausserdem 8 bit. Ein Float ist eine Flieskommazahl, welche 4 byte belegt. Double ist eine weitere Flieskommazahl, welche allerdings 8 Byte belegt. Ich nehme mal an, das du mit Bit nun ebenfalls wenig anfangen kannst. Anhand der belegten Bit kannst du errechnen, welche maximale Zahl du speichern kannst. Ein byte - die kleine einheit, kann 256 zahlen speichern. Errechnet: Ein bit hat einen zustand (1 oder 0, an oder aus, tod oder leben, wahrheit oder lüge, was du willst - 2 zustände eben). dadurch ergibt sich bei 8 bit (ein byte): 2^8 == 256. Sprich, von 0 bis 255, oder von -127 bis 128. Ein String hingegen ist - normalerweise - eine aneinanderreihung von Bytes, ähnlich einem Array. Er wird nur anders interpriert, als Ascii-codes. Eine normale Asciiliste hat 256 zeichen - jedes Byte steht für ein weiteres Zeichen. Es gibt noch eine Short variante, ka wie das hieß - unicode? In Blitzmax wird ein String allerdings wie ein Objekt behandelt, wie das in BB aussieht, kann ich dir leider nicht sagen. % Kennzeichnet einen Integer, @ ein Double, # ein float, $ einen String. Wie man long, short oder Byte kennzeichnet, weiß ich leider nicht. In blitzmax reicht es, Variablen_name:Typ - also zb iCount:Int zu schreiben. Solltest du eine berechnung haben, die den maximal möglich darstellbaren bereich eines Types sprengt, so wird deine zahl im negativen bereich "wieder raus kommen". Beispiel: Ein normaler Byte in BB kann 0 bis 255 speichern, addierst du nun auf einen Byte mit der Zahl 255 eine 1, so wird deine Zahl im endeffekt 0. Es gibt in den meisten Programmiersprachen noch die unterscheidung zwischen Unsigned und Signed daten-typen. Das steht fürs vorzeichen ![]() -1 deswegen, da die 0 auch eine darstellungsform benötigt. Mit den Bits einer Flieskommazahl kann man allerdings nicht soviel berechnen, da diese anders "aufgeteilt" sind. Meines wissens nach werden ein paar bit für die ganzzahl und die restlichen für eine berechnung benötigt. Wie genau das aufgebaut ist, kannst du zb in Wikipedia nachlesen - ich weiß es nicht ^^ Grundsätzlich kann es dir für lokale variablen egal sein, welchen typ du brauchst. Wichtiger wirds, bei größeren Arrays, da 256x256x256 Byte's weniger speicher wegnehmen, als zb 256x256x256 Long's. Dh für kleinere anwednungen und lokale variablen solltest du hauptsächlich zwischen Strings, dh Zeichenketten, und Integer (ganzzahl, normal Signed) und Float (flieskommazahl) unterscheiden. Wichtig ist ausserdem zb folgendes: Local iCount:int = 100 / 1000.0 1000.0 enthält ein punkt, sie wird automatisch als Float interpretiert. Dadurch das du aber explizit eine Integervariable festgelegt hast, wird du am ende 0 rausbekommen. Das ergebnis, 0.1, kann mit einem Integer nicht dargestellt werden und wird standartmäßig "zur null" gerundet. Dh 0.0 -> 0. Local fCount:float = 100 / 1000 hingegen würde korrekt die 0.1 halten. (Oder auch 0.099999123123 irgendwas - 100% genau sind fließkommazahlen nie! mehr dazu: Wikipedia) soo ich hab dann mal ein wenig gegrübelt. vielleicht hilfts ja, vielleicht verwirrts nochmehr ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nett gemeint, aber BlitzBasic <> BlitzMax und falsch ist es auch noch (@ steht für :Byte in BlitzMax). | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
BB wandelt die Typen oftmals automatisch um, dennoch solltest Du sie verwenden. Zumindest wenn Du sichergehen willst dass deine Programme auch das tun was sie sollen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alles klar, jetz weis ich ja bescheid ![]() |
||
New Project [4%]
Schinken Maker [100%] |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group