Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Typecast or not? (https://www.delphipraxis.net/127181-typecast-not.html)

Muetze1 10. Jan 2009 13:48

Re: Typecast or not?
 
Zitat:

Zitat von Meflin
Und was macht IntToStr? Eine Typumwandlung!

IntToStr() mach keine Typumwandlung. Es ist eine Funktion die nun einfach ein Rückgabewert hat und einen Parameter. Und nur weil der Rückgabetyp anders als der Parametertyp ist, ist es eine Typumwandlung?

Nach dieser Definition ist jede Funktion aus dem Schema eine Typumwandlung. Auch z.B. Sign(). Sie wandelt die Zahl in einen Aufzählungstyp. :wall:

Zitat:

Zitat von Meflin
(Wie es eben beispielsweise auch bei Wiki steht :tongue: )

Eben nicht! Lies es bitte genau!

Die eigentliche Umwandlung - also auch auf die du dich hier beziehst zur dezimalen Darstellung, sprich IntToStr() - geschieht in Wikipedia gar nicht und wird selbst im Beispiel gar nicht angerissen bzw. überhaupt drauf hingewiesen. Es geht dort um die Typumwandlung.

mkinzler 10. Jan 2009 13:50

Re: Typecast or not?
 
Ein Typecast ist nicht nur eine Umwandlung, sondern die Interpretation eines Speicherinhaltes.
Steht an einer Speicheradresse der Wert 33, ist das als Byte betrachtet 33 und als Char/String(bei folgendem Wert 0) '!'
Eine Umwandlung per IntToStr Funktion würde '33' ergeben
[Edit: Text korrigiert. Meine Tastatur springt immer im Text :( ]

DeddyH 10. Jan 2009 13:55

Re: Typecast or not?
 
Was bedeutet "Chalung" :?:

Meflin 10. Jan 2009 13:59

Re: Typecast or not?
 
Zitat:

Zitat von Muetze1
Die eigentliche Umwandlung - also auch auf die du dich hier beziehst zur dezimalen Darstellung, sprich IntToStr() - geschieht in Wikipedia gar nicht und wird selbst im Beispiel gar nicht angerissen bzw. überhaupt drauf hingewiesen. Es geht dort um die Typumwandlung.

Was genau willst du mir jetzt damit sagen :gruebel:
Code:
int i = 100;
byte b = int2byte( i );
Wo bitte geschieht denn hier noch eine Typumwandlung - außer durch die Funktion int2byte??
Zitat:

Eine Variante expliziter Typumwandlung ist die Verwendung eigens dafür geschriebener Funktionen
Was soll denn dann eine Funktion machen, die einen Typecast vornimmt?

Als Beispiel für Typumwandlung wird übrigens genau das genannt:
Zitat:

Beispielsweise kann es sein, dass man eine Zahl als Zeichenkette darstellen möchte. Es muss dann eine Umwandlung der für die Darstellung der Zahl verwendeten Daten in die für die Darstellung einer Zeichenkette notwendigen Daten vorgenommen werden
Und wie macht man das? Mit IntToStr.

mkinzler 10. Jan 2009 14:06

Re: Typecast or not?
 
Der Unterschied ist wie ich oben schon zu erklären wollte ( leider wurden dort 2 Sätze vermischt) dass
-beim Cast ein Inhalt einer Speicherstelle als ein anderer Typ interpretiert wird: 33 -> '!'
-bei der Umwandlungsroutine eine Wert in eine andere Form gewandelt wird: 33 -> '33'

Meflin 10. Jan 2009 14:07

Re: Typecast or not?
 
@mkinzler: Die Begriffe "Cast" und "Umwandlung" sind aber äquivalent :cry:

mkinzler 10. Jan 2009 14:08

Re: Typecast or not?
 
Imho nicht

Meflin 10. Jan 2009 14:10

Re: Typecast or not?
 
Zitat:

Zitat von mkinzler
Imho nicht

Tja, dann guck mal hier: http://dict.leo.org/?lp=ende&from=fx3&search=typecast
oder eben mal wieder Wiki
Zitat:

Typumwandlung (engl. type conversion oder cast) bezeichnet in der Informatik die Umwandlung des Wertes eines Datentyps in einen Wert eines anderen Datentyps

Muetze1 10. Jan 2009 14:53

Re: Typecast or not?
 
Ja, wie wir es sagen. Nach IntToStr() enthält der Speicher mit dem String andere Daten als der Speicher mit dem Integer. Also ist es eine Umwandlung. Ein Typecast impliziert, dass der Inhalt des Speichers gleich bleibt.

Meflin 10. Jan 2009 14:55

Re: Typecast or not?
 
Zitat:

Zitat von Muetze1
Ja, wie wir es sagen. Nach IntToStr() enthält der Speicher mit dem String andere Daten als der Speicher mit dem Integer. Also ist es eine Umwandlung. Ein Typecast impliziert, dass der Inhalt des Speichers gleich bleibt.

Nein, eben nicht wie ihr es sagt. Ihr sagt Umwandlung wäre etwas anderes als Cast. Es steht aber da, dass das äquivalente Begriffe sind...


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz