| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: real oder integer (1460 mal gelesen)
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 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: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 29. Mai. 2006 17:53 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 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: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 30. Mai. 2006 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 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: 13508 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: 667 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 |
| BTV (m/w/d) Automotive | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte OEMs und Zulieferer der Automobilindustrie und übernehmen Verantwortung für komplexe Entwicklungsprojekte.... | Anzeige ansehen | Fahrzeugtechnik |
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 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 |