AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Integer + 1

Offene Frage von "XPLOSIV"
Ein Thema von XPLOSIV · begonnen am 26. Apr 2008 · letzter Beitrag vom 27. Apr 2008
Antwort Antwort
Seite 1 von 3  1 23      
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#1

Integer + 1

  Alt 26. Apr 2008, 12:09
Also ich will eine Variable immer um 1 erhöhen und dann anzeigen lassen.

Wie geht das ?
  Mit Zitat antworten Zitat
Wal

Registriert seit: 22. Sep 2006
57 Beiträge
 
#2

Re: Integer + 1

  Alt 26. Apr 2008, 12:12
Inc(i);
Label1.Caption := IntToStr(i);

Wal
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Integer + 1

  Alt 26. Apr 2008, 12:32
Zitat von Wal:
Inc(i);
Label1.Caption := IntToStr(i);

Wal
oder

i := i + 1; //das aber nicht ganz so schön die methode
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#4

Re: Integer + 1

  Alt 26. Apr 2008, 13:36
Aber höchstwahrscheinlich viel schneller!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

Re: Integer + 1

  Alt 26. Apr 2008, 13:38
Zitat von fLaSh11:
Aber höchstwahrscheinlich viel schneller!
Echt?
Zitat von Delphi3-Hilfedatei:
Inc generiert hochoptimierten Maschinencode und ist besonders für Schleifen geeignet.
MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Mao
Mao

Registriert seit: 4. Dez 2006
Ort: Dresden
75 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Integer + 1

  Alt 26. Apr 2008, 13:44
Ein guter Compiler sollte beides zum nahezu selben Maschinencode umwandeln.
Ein chinesisches Sprichwort sagt: Ein Weiser, der alle Dinge gesehen hat gleicht dennoch nicht dem Manne, der ein einzigstes Ding mit seinen eigenen Händen geschaffen hat.
---
Günstige Domains, Webhosting und Teamspeak-Server - info@max06.de!
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#7

Re: Integer + 1

  Alt 26. Apr 2008, 13:55
Ein Blick in das Debuggfenster hilft da meist weiter.

Demoprojekt:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
 i: integer;
begin
 i := 0;
 inc(i);
 i := i + 1;
 writeln(i);
 readln;
end.
relevante zeilen assemblercode
Code:
Project1.dpr.10: i := 0;
0040914D 33DB            xor ebx,ebx
Project1.dpr.11: inc(i);
0040914F 43               inc ebx
Project1.dpr.12: i := i + 1;
00409150 43               inc ebx
Project1.dpr.13: writeln(i);
00409151 A1F0A94000       mov eax,[$0040a9f0]
unter D2006 compiliert.

Denke der assemblercode sagt alles.

grüsse GG

PS: sah grad, dass du mit D3 arbeitest. da sollte es noch einen unterschied machen. übernimm doch mal das beispiel und quote das ASM resultat..
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#8

Re: Integer + 1

  Alt 26. Apr 2008, 15:26
ich hab in irgendeinem buch mal gelesen, das
Code:
  ADD EAX,1
auch schneller als
Code:
  INC EAX
sein soll
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#9

Re: Integer + 1

  Alt 26. Apr 2008, 15:58
Zitat von 1234588:
ich hab in irgendeinem buch mal gelesen, das
Code:
  ADD EAX,1
auch schneller als
Code:
  INC EAX
sein soll
Ist es aber nie. Auf modernen Prozessoren benötigt INC immer nur einen Taktzyklus bei direktem Zugriff auf Register, max. 3 bei Variablen.

Bei ADD verhält es sich inzwischen übrigens identisch

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Integer + 1

  Alt 26. Apr 2008, 16:56
Zitat:
max. 3 bei Variablen.
Sicher? Was ist wenn die Variable im Speicher liegt? Das müsste dann doch zumindest beim ersten mal einen Cache-Fehlzugriff verursachen und die Variable müsste aus dem Speicher angefordert werden, was schon mal gerne an die 100 Zyklen dauern kann.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz