| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: real oder integer (1515 mal gelesen)
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
  
 Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 29. Mai. 2006 17:41 <-- editieren / zitieren --> Unities abgeben:         
numberp prüft auf integer und real. gibt es eine funktion die mir sagt ob es sich um real oder integer handelt? kann ich das so lösen, oder bekomme ich probleme mit der rechengenauigkeit? (IF (= (- zahl (fix zahl)) 0) ( -> integer) (-> real)) ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
    
 Beiträge: 1776 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 29. Mai. 2006 17:53 <-- editieren / zitieren --> Unities abgeben:          Nur für gmk
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
  
 Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 30. Mai. 2006 08:50 <-- editieren / zitieren --> Unities abgeben:         
servus jörn! hatte ich auch schon gedacht, bringt mich aber nicht recht weiter. ich brauche das ganze zum testen einer zählvariablen auf gerade oder ungerade. (/ 4 2.0) -> int, gerade (/ 5 2.0) -> real, ungerade ist nun (/ 4 2.0) genau 2 oder hängt in der x-ten nachkommastelle noch eine ungenauigkeit die mir bei einem vergleich (= (- zahl (fix zahl)) 0) probleme bereitet. Oder treten die ungenauigkeiten nur bei operationen mit zwei real zahlen auf? evtl. bau ich als notlösung noch ein equal ein oder es gibt noch andere vorschläge. ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
    
 Beiträge: 1776 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 30. Mai. 2006 09:05 <-- editieren / zitieren --> Unities abgeben:          Nur für gmk
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
  
 Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 30. Mai. 2006 10:23 <-- editieren / zitieren --> Unities abgeben:         
hi jörn, wenn ich die funktion richtig verstanden habe, prüft logand ob in zahl bit 1 gesetzt ist? nur zum verständnis: will ich mehrere int mit logand prüfen, muß dann immer das "prüfbit" mit übergeben werden? z.b. ist in 11 und 3 bit 2 gesetzt -> (logand 11 3 2) = 2 ciao georg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 30. Mai. 2006 10:41 <-- editieren / zitieren --> Unities abgeben:          Nur für gmk
Zitat: Original erstellt von gmk: hi jörn,wenn ich die funktion richtig verstanden habe, prüft logand ob in zahl bit 1 gesetzt ist? nur zum verständnis: will ich mehrere int mit logand prüfen, muß dann immer das "prüfbit" mit übergeben werden? z.b. ist in 11 und 3 bit 2 gesetzt -> (logand 11 3 2) = 2 ciao georg
neee ... in deinem Falle werden alle Zahlen Bitweise verglichen. Für dein Vorhaben mußt du (and(= 2(logand 11 2))(= 2(logand 3 2))) --> 'T weil 11=8+2+1.. 2 ist enthalten und 3=2+1 .. 2 ist enthalten Es wird aber nicht auf das 2.Bit getestet, sondern auf 2 P.S. kannst dir auch mal die Funktion Boole angucken ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
  
 Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 30. Mai. 2006 11:12 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von CADmium: Es wird aber nicht auf das 2.Bit getestet, sondern auf 2
d.h. ich muß den rückgabewert wieder bitweise auflösen um die gesetzten bits zu bekommen? z.B. (logand zahl zahl ....) = 13 -> bit 4=1 3=1 2=0 1=1 cioa georg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 30. Mai. 2006 11:34 <-- editieren / zitieren --> Unities abgeben:          Nur für gmk
Code sagt mehr als Worte: (defun DT:BITNR_IN_ZAHL? ( ZAHL BITNR ) (/=(logand ZAHL (lsh 2 (- BITNR 2)))0) ) z.B. (DT:BITNR_IN_ZAHL? 13 4) .. testet ob BitNr.4 = 8 in der Zahl 13 gesetzt ist (Bit1=1 Bit2=2 Bit3=4 Bit4=8 ....) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |