AGB  ·  Datenschutz  ·  Impressum  







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

Kleine Integer?

Ein Thema von xZise · begonnen am 29. Jul 2006 · letzter Beitrag vom 31. Jul 2006
Antwort Antwort
Seite 2 von 4     12 34      
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#11

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:06
Hallo,
Zitat von Ydobon:
Abgesehen davon, es gibt keinen Typ, der an der Verarbeitungsbreite der CPU vorbei kommt. Die ist zz. nun einmal meist 32 Bit = Integer oder Cardinal. Alles andere wird genau mit diesen Werten gespeichert, nur das Laufzeitsystem hat dann mehr Arbeit mit der Typenprüfung.
Wie kommst Du denn darauf? Klar kann ich ein Byte auch als Byte im Speicher ablegen und die CPU verarbeitet das dann auch als Byte. Ob die CPU das Byte intern wieder "aufbläst" ist egal, aber auch unwahrscheinlich, weil sonst manche Befehle nicht mehr funktionieren würden (z. B. ROL, ROR).

Gruß
xaromz
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:15
Genau dieses "Aufblasen" ist es. Aktuelle CPUs verarbeiten 32 Bit (oder bereits 64 Bit) und nicht 8 Bit.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#13

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:19
Hallo,
Zitat von Ydobon:
Genau dieses "Aufblasen" ist es. Aktuelle CPUs verarbeiten 32 Bit (oder bereis 64 Bit) und nicht 8 Bit.
Hast Du da 'nen Link oder so was? Das würde mich schon interessieren, wie eine CPU z. B. die Bit-Rotation dann umsetzt.

Gruß
xaromz
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:45
Einfach mit Nullen auffüllen? Den Rest muss dann etwas anderes (natürlich mit Geschwindigkeitsverlust) machen. Wenn die CPU halt nichts kleiner als 32 Bit adressieren kann, gibt es kein Byte mehr.

Sorry, aber ich habe keinen Link.
Da ich mit 8-Bit Prozessoren angefangen und deren Entwicklung beobachtet habe, hatte ich aus meiner Beobachtung gefolgert, dass andere genauso urteilen werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#15

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:47
8 BitRotation?

in 'nem 8-Bit-Register natürlich

z.B.
EAX = 32 Bit
AX = 16 Bit
AL und AH = 8 Bit

in der CPU sind die dann üperlappend gespeichert:
Code:
3322222222221111111111
10987654321098765432109876543210
******************************** EAX
                **************** AX
                        ******** AL
                ********         AH
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#16

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:49
Ohne zwingenden Grund (z.B. Dateizugriffe) halte ich es für sinnlos, einen anderen ganzzahligen Datentyp als Integer zu verwenden. Die vier Bytes Speicher machen niemandem was aus.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#17

Re: Kleine Integer?

  Alt 29. Jul 2006, 11:53
Hallo,
Zitat von himitsu:
8 BitRotation?

in 'nem 8-Bit-Register natürlich

z.B.
EAX = 32 Bit
AX = 16 Bit
AL und AH = 8 Bit
Danke, ich spreche fließend Assembler und kenne mich auch mit dem Aufbau aktueller CPUs recht gut aus.
Das ist ja genau mein Problem: Wenn es Byte-Register gibt, wie und wozu bläst dann die CPU ein Byte auf 32 Bit auf (wie behauptet)? Das erscheint mir nicht wirklich einleuchtend.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#18

Re: Kleine Integer?

  Alt 29. Jul 2006, 12:00
wo bläßt sie den denn auf?

im RAM und sonstewo kann dennoch ein einzelnes Byte gespeichert werden, übertragen kann sie zwar nur 32 Bit, also auch alles größer als 32-Bit wird ebenfalls gesplittet, aber sonst?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#19

Re: Kleine Integer?

  Alt 29. Jul 2006, 12:03
Hallo,
Zitat von himitsu:
wo bläßt sie den denn auf?

im RAM und sonstewo kann dennoch ein einzelnes Byte gespeichert werden, übertragen kann sie zwar nur 32 Bit, also auch alles größer als
32-Bit wird ebenfalls gesplittet, aber sonst?
Diese Behauptung kam von Ydobon im Beitrag #12.

Gruß
xaromz
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Kleine Integer?

  Alt 29. Jul 2006, 12:10
@himitsu: Wie wird denn ein einzelnes Byte gespeichert?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 23:50 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