Vraag & Antwoord

Programmeren

[vb6] Positief naar negatief - negatief naar positief

22 antwoorden
  • Ola, Weet iemand hoe je op een makkelijke manier een positief getal negatief kan maken en andersom?? Bv: 10 -> -10 of -65 -> 65 Ik gebruik nu: (Temp - 2 * Temp) -> Positief naar negatief (temp * 2) -> negatief naar positief Volgens mij moet dit netter kunnen.. Alvast bedankt
  • Ik geloof niet dat er een functie voor bestaat, je kunt zelf een functie schrijven als dat nodig is, maar ik denk dat de VB math library gewoonweg te kort schiet. [code:1:856a738eaa]Public Function ChangeSign(Number2Change As Long) As Long ChangeSign = Number2Change - (Number2Change * 2) End Function[/code:1:856a738eaa] Deze code zal het teken van een Long waarde omzetten, ongeacht welk teken het heeft.
  • Helaas pindakaas... In ieder geval bedankt...
  • Gewoon vermenigvuldigen met -1
  • [quote:fdb7027fe3] Op 12-05-2002 11:27 schreef bosjvd: Gewoon vermenigvuldigen met -1 [/quote:fdb7027fe3]Als alles in het leven zo simpel was :wink:
  • Ja zeg dat wel..... Maar ja dat heb je als je teveel kennis hebt... Ga je moeilijke oplossingen zoeken voor makkelijke problemen :grin:
  • Nog een andere manier zou zijn. 0 - getal Stel getal=10 Geeft 0 - 10= -10 Stel getal=-65 geeft 0 - -65= 65 Maar vermenigvuldigen met -1 lijkt me toch de beste oplossing. <font size=-1>[ Dit bericht is bewerkt door: bosjvd op 2002-05-12 16:06 ]</font>
  • X - 2 * X zal als +/- switch werken. Dit moet natuurlijk zijn: X = X - 2 * X 2345 - 2 * 2345 2345 - 4690 = -2345 -2345 - 2 * -2345 -2345 - -4690 = 2345 _________________ Arend. <font size=-1>[ Dit bericht is bewerkt door: Arend_ op 2002-05-12 18:37 ]</font>
  • [quote:2ca3a6a9ac] Op 12-05-2002 1:16 schreef one_234: (Temp - 2 * Temp) -&gt; Positief naar negatief [/quote:2ca3a6a9ac] Ik zie nu pas dat je dit zelf ook al gebruikte. Het werkt echter niet alleen van positief naar negatief maar ook andersom, zoals je ziet. Ik denk dat dit de eenvoudigste methode is.
  • Klopt, dat had ik al gebruikt in de code die ik bijvoegde maar dat vermenigvuldigen met -1 is echt mooi en simpel.
  • Zit ik effe te slapen, dit is dus hetzelfde dat DarkScribe al aandraagt. Waarom dan: helaas, pindakaas? het is toch een prima oplossing?
  • 't Is waar, X = X * -1 is simpel en doeltreffend. Ik had het commentaar van Bill Gates uitgelegd als: maar zo simpel is het niet. Ten onrechte dus, het is wel degelijk zo eenvoudig.
  • [quote:0d1832a541] Op 12-05-2002 18:56 schreef Arend_: Zit ik effe te slapen, dit is dus hetzelfde dat DarkScribe al aandraagt. Waarom dan: helaas, pindakaas? het is toch een prima oplossing? [/quote:0d1832a541] Het is idd een prima oplossing.. Ik vind het alleen jammer dat er geen commando voorbestaat.. Das alles..
  • Ik ben nog maar net begonnen naar C++ te kijken, dus ik weet er nog weinig van, vooral van de syntaxys'en. Maar redenerend vanuit mijn Basic-ervaring zou ik zeggen: Er moet toch een mogelijkheid zijn tot het maken van een user-defined function? Zoiets als: (let niet op de syntax, het gaat om het idee) Getal functiePlusMin(Getal) { Getal = Getal * -1 } Wat je gebruikt als: Waarde = 1234 PlusMin(Waarde) Nu is de Waarde -1234 PlusMin(Waarde) Nu is de Waarde weer 1234
  • In C kan dit gewoon met een functio net als in alle programmeertalen. Je kan het in C zelfs als macro definieren geloof ik. (niet verwarren met macro's in excel en dergelijke) Is al weer ff geleden dat ik in C geprogrammeerd heb. Maar geloof dat het iets is als : int keer_om(int getal) { getal = getal * -1; return getal; }
  • Dit is dus het idee. Gewoon even de functie maken en ziet: daar is je commando!
  • maar die C-functie werkt alleen voor integers ... Wat doe je als je doubles of andere getalsoorten hebt ? Je zou voor elke variant een nieuwe functie kunnen schrijven ... maar het kan simpeler : [code:1:1b483e80f5] #define plusmin(a) (-1 * a) // of mog eenvoudiger : #define plusmin2(a) ((-a)) [/code:1:1b483e80f5] _________________ - [url=http://jafo.mienadres.nl]JaFO's Bot-editor voor UT[/url] versie 2.5 is er - <font size=-1>[ Dit bericht is bewerkt door: JaFO op 2002-05-13 16:17 ]</font>
  • Dat is dus de macro manier. Heb ik niet zoveel gebruikt dus wist niet meer precies hoe dat moest. <font size=-1>[ Dit bericht is bewerkt door: bosjvd op 2002-05-13 17:14 ]</font>
  • Je zou in C ook een operator kunnen maken, of een bestaande overloaden met nieuwe functionaliteit. Maar dat is wel erg ingewikkeld voor zoiets simpels....
  • [quote:d5b77fbb28] Op 13-05-2002 16:15 schreef JaFO: maar die C-functie werkt alleen voor integers [/quote:d5b77fbb28] Inderdaad. Misschien is de C++ functionaliteit Name-overloading hier nuttig. Je kunt dan voor ieder data-type een functie definieren met dezelfde naam. Dus: (let niet op de syntax, ik ben nog nauwlijks begonnen.) Int functieInverse(Int) { Int = Int * -1 } Floatingpoint functieInverse(Floatingpoint) { Floatingpoint = Floatingpoint * -1 } Je roep aan met: Getal Inverse(Getal) De C++ compiler herkent zelf welke van de gelijknamige routines gebruikt moet worden. (Ik moet me toch 'ns gauw de syntax eigen gaan maken.) _________________ Arend. <font size=-1>[ Dit bericht is bewerkt door: Arend_ op 2002-05-15 09:15 ]</font>

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.