hej! Ok... Va i hela... ? > Jag trode det fanns en färdig funktion för det, men denna fungerar lika bra Men vad i hela friden?! Men vad i helskotta? Antagligen kommer väl x=0-x och x=-x ersättas med samma Assemblerinstruktion(er) i slutändan ändå? > Antagligen kommer väl x=0-x och x=-x ersättas med samma Assemblerinstruktion(er) i slutändan ändå? Jag <b>tror</b> att assembly instruktionerna kommer att bli så att den gör första komplementet på värdet av x och sedan adderar den 1, är dock inte säker... =) Nej, det är inte en funktion. Men om man skall vara korrekt så förhåller det ju sig så här: Nu skall jag komma med mitt vedträ. Ok, det kanske behöver tilläggas att den operation som efterfrågas kallas den additiva inversen, alltså om x + y = 0 är y den additiva inversen till x, och det jag skrev (med dividend och divisor) kallas den multiplikativa inversen. Sven du skriver: 1. Om tal skall inverteras så blir det 1/talet ? Med risk att mitt tjat -> oändligheten MÅSTE jag ändå påpeka en sak :D: <b>För en matematiker är väl (x = 0 - x) en funktion..? :) </b> <och detta måste bara varit en missbedömning om vad frågan handlar om.> Ok, bra att du inte uppfattade mig som "besserwisser" eftersom det absolut inte handlar om att sätta någon på plats. Men, du har rätt i avseendet att om man skall invertera t.ex. x så blir det 1/x. Men detta beror ju på att x = x/1 och den multiplikativa inversen = 1/x. Men då man inte alltid har 1 i täljaren väljer man skrivsättet: (a/b) och (b/a). Så du hade egentligen rätt i det avseendet. mycket fashinerande att en så (egentligen enkel) fråga Det hänger faktiskt på hur smart kompilatorn är, men de producerar säkerligen olika kod då -x använder den unära operatorn - medan 0-x använder den binära operatorn -. >Det absolut säkraste är att göra som jag gör.Dvs multiplicera med - 1Invertera tal
Finns det någon funktion som inverterar tal från minus till plus och vise versa
/TyronneSv:Invertera tal
Jag trode det fanns en färdig funktion för det, men denna fungerar lika bra
/TyronneSv:Invertera tal
Inte för att på något sätt vara otrevlig, men tillhör inte det hyfsat elementära kunskaper inom all form av programmering?
Och att ha en inbyggd funktion för att byta tecken på ett tal!?Sv: Invertera tal
Nej, inte en färdig funktion, men en färdig operator. Genom att sätta minustecken före ett uttryck så får du det negativa värdet.
> Det går hur bra som helst med x = -x
Faktiskt bättre än att subtrahera x ifrån noll, eftersom det gör precis det som Tyronne bad om och inte bara en beräkning som ger samma resultat.Sv:Invertera tal
Hur kan man ens ha en diskussion om detta på ett programmeringsforum?
För det första är det med i princip 100% sannolikhet så att 0-x och -x ger identisk kod, för det andra så är väl det här något man lär sig i si så där 3:e klass på lågstadiet? Sv: Invertera tal
Hur kan du reta upp dig så fruktansvärt på en sådan här tråd att du måste skriva två inlägg och gnälla?Sv: Invertera tal
Sv:Invertera tal
Det beror på vad det är för datatyp på x. Negation av ett flyttal görs till exempel, vad jag kan läsa mig till, genom att multiplicera med -1, medan subtraktionen alltid lär bli en subtraktion.Sv: Invertera tal
/ThomasSv: Invertera tal
Ett tals inverterade värde är om man vänder på dividenden och divisorn.
a / b = c, där a är dividenden, b är divisorn och c är kvoten.
Exempel på inverterade tal: 2/3 och 3/2.
Men, eftersom vi nu avser en subtraktion, så skall vi ju subtrahera något från något.
Som bekant kallas de olika elementen i en subtraktion för minuend, subtrahend och differens.
a - b = c, där a är minuenden, b subtrahenden och c differensen, skillnaden.
Så, jag antar att man "egentligen?" skall skriva x = 0 - x, om man vill vara "korrekt?", men då noll som bekant är neutralt och inte har någon inverkan så kan man strunta i det. Och i detta fall vill ju inte användaren genomföra en subtraktion, utan endast ha "motsatsen" till talet. Alla tal kommer ju att få en motsats utom i princip noll och imaginära.
Inte för att vara elak, men, en funktion är att ta motsatsen till ett tal? *phew*
Äh, nu har jag sagt för mycket igen...?Sv:Invertera tal
1. Om tal skall inverteras så blir det 1/talet
2. Det Ni skriver om kallar jag för Change och så här har jag alltid gjort x = -1 * xSv: Invertera tal
Sv: Invertera tal
Varav detta?
Om du kan din terminologi så vet du att två storheter har reciproka(inverterade) värden
om (a/b)*(b/a)=1. Som sagt, t.ex (1/2)*(2/1)=1.
Jag vet att du har matematisk kunskap, och detta måste bara varit en missbedömning om vad frågan handlar om.Sv: Invertera tal
(-1 * i)=(i / -1)=(-i / 1)=-i
SLUTSATS: (-i) går dö-bra att använda. ;)Sv: Invertera tal
En matematiker skulle inte gilla det skrivsättet...
Men visst, x --> -x (eller ekvivalent x --> 0-x) är en funktion i matematisk mening.Sv:Invertera tal
mmm.. det är nog det ,matteterminologin har rostat. Jag menar kanske Invers = 1/talet
Har för mig att man sa att det inverterade värdet av ett tal var/är 1/talet.
Tänker på Sin och Cos Sin-1 Cos-1
Som min gamle kloka morfar sa. "Skit i vad det heter,bara du vet hur man gör."
Och tack för den ödmjuka tillrättavisningen ,det värmer :-bSv: Invertera tal
Jag kan de matimatiska reglerna för konvertering (++), (--), (-+) mm mm.
Det är ju så att VB är fantastisk på många sätta och allt jag undrade om det fanns en färdig konverteringsfunktion. Hur funktionen skrivs vet jag redan.
/TyronneSv: Invertera tal
Tack och hej!Sv:Invertera tal
kan generera 21 replieker (22 med mitt). :-p
Ha det.Byta tecken
Då negation oftast sker med hjälp av multiplikation med -1 medans en subtraktion alltid är en subtraktion (som någon annan nämnde) borde det ärligt talat inte spela någon direkt roll ur effektivitetssynpunkt. Eventuellt då beroende på hur de olika räknesätten är realiserade i hårdvaran, men det känns som lite överkurs...
Edit: Vid lite eftertanke valde jag att modifiera min slutsat lite :PSv:Byta tecken
Varför då?