Seite 151 von 202 ErsteErste ... 51101141147148149150151152153154155161201 ... LetzteLetzte
Ergebnis 2.251 bis 2.265 von 3026

Thema: [Programmiererstammtisch] "Zum ächzenden Compiler"

  1. #2251
    Frühstücksbonze Avatar von Gullix
    Registriert seit
    21.07.10
    Beiträge
    13.402
    ...also, bei einem float schwierig. Ich dachte immer, das ist nicht spezifiziert, dh Compiler kann floats anordnen wie er will, je nach Hardware ggf verschieden.
    Mit Naturgesetzen kann man nicht verhandeln. --Harald Lesch

    Ein Atomkrieg würde die Menschheit auslöschen. Hätte aber auch Nachteile.

  2. #2252
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Nein, das ist selbstverständlich definiert. Der erste Standard, dem man im ersten Semester bebegnet. Was du meinst ist die Bytereihenfolge. Die kann unterschiedlich sein, aber das spielt hier keine Rolle. (uint32_t)floatvar ist immer gleich.

    Nutzt aber nichts, wenn man in der Programmiersprache nicht casten kann
    Geändert von Ramkhamhaeng (07. Dezember 2019 um 01:23 Uhr)

  3. #2253
    Registrierter Uses Avatar von fuchs87
    Registriert seit
    26.08.09
    Beiträge
    4.436
    Meinst du IEEE 754? Der ist mWn z. B. in C nicht definiert.
    #KriegIstFrieden
    #FreiheitIstSklaverei
    #UnwissenheitIstStärke

  4. #2254
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von fuchs87 Beitrag anzeigen
    Meinst du IEEE 754? Der ist mWn z. B. in C nicht definiert.
    Es wird unter Umständen nicht der komplette Standard unterstützt, aber die Basiseigenschaften wie die Reihenfolge der Bits in der Darstellung der Zahl schon. Wie sollte es auch ohne gehen, das gibt die Hardware, spätestens seit es FPU's gibt, vor.

  5. #2255
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Ich verstehe hier nur Bahnhof. Könnt ihr mir nun helfen oder nicht?

    Zitat Zitat von fuchs87 Beitrag anzeigen
    Vielleicht wären bitweise Operatoren was für dich?
    Unter dieser Kategorie habe ich schon nachgeschaut und nichts Nützliches gefunden.
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  6. #2256
    Registrierter Uses Avatar von fuchs87
    Registriert seit
    26.08.09
    Beiträge
    4.436
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Es wird unter Umständen nicht der komplette Standard unterstützt, aber die Basiseigenschaften wie die Reihenfolge der Bits in der Darstellung der Zahl schon. Wie sollte es auch ohne gehen, das gibt die Hardware, spätestens seit es FPU's gibt, vor.
    FPUs gibt es schon länger als den Standard IEEE 754. Es gibt es auch Hardware, die andere Formate nutzt. Such mal nach IBM hexadecimal floating point.
    #KriegIstFrieden
    #FreiheitIstSklaverei
    #UnwissenheitIstStärke

  7. #2257
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Zitat Zitat von Tiramisu Beitrag anzeigen
    Wenn der Computer eh nur mit Binärzahlen rechnet, warum kann man dann in Lua nicht einfach die Binärziffern von float-Zahlen ablesen, ohne sie vorher berechnen zu müssen? Das kostet doch nur unnötig Performance.
    http://www.lua.org/manual/5.3/manual.html#3.4.2
    Das sollte es doch sein.
    Meine Liste:
    1. K
    2. T
    3. V

  8. #2258
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von fuchs87 Beitrag anzeigen
    FPUs gibt es schon länger als den Standard IEEE 754. Es gibt es auch Hardware, die andere Formate nutzt. Such mal nach IBM hexadecimal floating point.
    Das spielt alles überhaupt keine Rolle Auf den von Tiramisu relevanten Rechnern halten sich die normalisierten einfach-genauen 32-bit-Floatzahlen an das in IEEE 754 angegebene Format. Die Interpretation jedes Bits ist wohldefiniert. Mehr braucht er nicht.
    Ja, es gibt andere Standards, ja es gibt Rechner mit anderen Architekturen, ja es macht intern einen Unterschied ob der Wert in nem normalen Register oder nem Floatingpoint-Register liegt. Und das weißt du eigentlich auch, denn du schriebst anfangs selbst:

    Zitat Zitat von fuchs87 Beitrag anzeigen
    Vielleicht wären bitweise Operatoren was für dich?
    Kenne Lua nicht, aber so weit ich es in der Dokumentation überblicke, geht es dort nicht mit den Mitteln der Sprache. Eigentlich auch nicht so tragisch, da man es meist nur zum Debuggen braucht. Performance ist auch kein Argument, Tira, da Lua ne Scriptsprache ist.

  9. #2259
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Schlumpf Beitrag anzeigen
    Das funzt nur mit Integer.

    Ja, es gibt andere Standards, ja es gibt Rechner mit anderen Architekturen, ja es macht intern einen Unterschied ob der Wert in nem normalen Register oder nem Floatingpoint-Register liegt.
    Das könnte ja aber ein Grund für Lua sein, das nicht anzubieten. Weil der Code sonst nicht mehr portabel ist?


    Vielleicht ist es das einfachste, eine Funktion dafür in C zu schrieben? (und von lua aus aufzurufen)
    Verstand op nul, frituur op 180.

  10. #2260
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Zitat Zitat von Shakka Beitrag anzeigen
    Das funzt nur mit Integer.
    Nicht nur deswegen. Diese bitwise operators haben keine 0-1-Ziffern sondern ganze Zahlen als return-Wert, weil sie etwas ganz anderes machen als das, was ich eigentlich bräuchte.
    Nicht zu fassen, dass es für so eine elementare Funktion wie die Binärzifferabfrage keine Implementierung gibt!
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  11. #2261
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Zitat Zitat von Shakka Beitrag anzeigen
    Das funzt nur mit Integer.
    Stimmt hab ich überlesen. Gibts da union wie in C?

    Edit: @Tira da nutzt man auch eher bitmasken um zu schauen ob das bit x bzw die bits y gesetzt ist wie zb:
    Code:
    if y & 1<<5 mach das
    else mach dies
    um das bit an sechster stelle zu überprüfen.

    Susanne würde übrigens gern wissen ob es da nicht einen eleganteren Weg gibt? Ich kann mir bei dir irgendwie wenig Anwendungen vorstellen, welche derartiges bitgeschubse bei der Verwendung von floats wirklich brauchen.
    Geändert von Schlumpf (07. Dezember 2019 um 14:27 Uhr)
    Meine Liste:
    1. K
    2. T
    3. V

  12. #2262
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Tiramisu Beitrag anzeigen
    Nicht nur deswegen. Diese bitwise operators haben keine 0-1-Ziffern sondern ganze Zahlen als return-Wert, weil sie etwas ganz anderes machen als das, was ich eigentlich bräuchte.
    Man kann damit schon rumeiern. Aber eben nicht mit Float.
    Code:
    a=9
    print ((a)%2)
    print ((a>>1)%2)
    print ((a>>2)%2)
    print ((a>>3)%2)
    -- ergibt 1 0 0 1
    Verstand op nul, frituur op 180.

  13. #2263
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Achso. Wäre es denn möglich, die floats in große integer-Werte umzuwandeln und dann die Ziffern zurück zu transformieren? Z.B. multipliziere 34.23244 mit einer eine großen Zweierpotenz wie 2^23 (was für Binärrechner einfach sein sollte), wandle den Wert in Integer um (Nachkommastellen werden einfach ignoriert) und lese die Binärziffern ab, die in diesem Beispiel einfach nur um 23 Stellen nach rechts verschoben wurden. Das müsste doch von der Laufzeit her schnell zu berechnen sein.
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  14. #2264
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Bei der Konvertierung kommt ein ganz anderes bitmuster raus da 34.23244* 2^23 in float was ganz anderes ist als int:

    287162520.04352 = 01001101100010001110111000000101 in float darstellung, aber
    287162520 = 00010001000111011100000010011000

    Deswegen hat shakka recht, mache es in C oder such dir einen besseren Weg den es mit Sicherheit gibt.
    Meine Liste:
    1. K
    2. T
    3. V

  15. #2265
    Registrierter Uses Avatar von fuchs87
    Registriert seit
    26.08.09
    Beiträge
    4.436
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Das spielt alles überhaupt keine Rolle Auf den von Tiramisu relevanten Rechnern halten sich die normalisierten einfach-genauen 32-bit-Floatzahlen an das in IEEE 754 angegebene Format. Die Interpretation jedes Bits ist wohldefiniert. Mehr braucht er nicht.
    Ja, es gibt andere Standards, ja es gibt Rechner mit anderen Architekturen, ja es macht intern einen Unterschied ob der Wert in nem normalen Register oder nem Floatingpoint-Register liegt. Und das weißt du eigentlich auch, denn du schriebst anfangs selbst:



    Kenne Lua nicht, aber so weit ich es in der Dokumentation überblicke, geht es dort nicht mit den Mitteln der Sprache. Eigentlich auch nicht so tragisch, da man es meist nur zum Debuggen braucht. Performance ist auch kein Argument, Tira, da Lua ne Scriptsprache ist.
    Naja, es spielt eine Rolle, wenn dieses Programm, das Merkmale eines bestimmten Formats nutzt, auf verschiedenen Plattformen ausgeführt wird. Aber gut, ich denke, wir können uns darauf einigen, dass Tiras Programm wohl eher keine so breite Verwendung finden wird.

    Ich bin auch neugierig, was Tira da eigentlich vorhat. Evtl. versucht er nur mal wieder ein Problem möglichst kompliziert zu lösen.
    #KriegIstFrieden
    #FreiheitIstSklaverei
    #UnwissenheitIstStärke

Seite 151 von 202 ErsteErste ... 51101141147148149150151152153154155161201 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •