Avatar billede webdesigner Praktikant
19. december 2007 - 16:05 Der er 8 kommentarer og
1 løsning

for løkker eller if ?

hej jeg arbejder på en konverter for 2 comp af en negativ kode i binær...

mit problem er if sætningen...
den er sat i en for løkke....

                for (int i = 7; i >= 0; i--)
                {
                    if (imente == 1 && resultat[i] == '1')
                    {
                        plus1 = plus1 + "(Et)";
                    }
                    else if (imente == 1 && resultat[i] == '0')
                    {
                        plus1 = plus1 + "(Nul)";
                    }+
                    else
                        plus1 = resultat[i] + plus1;
                }

problemet er at den kan god klar ulige tal men ikke lige....

snakke med en ven men han sagde at han havde brugt 2 for løkker men hvor dan skull en sådan konstrueres ?
kan godt posterer hele koden om nødvendigt...
Avatar billede arne_v Ekspert
19. december 2007 - 16:18 #1
Til inspiration:

        public static string Add(string s1, string s2)
        {
            char[] res = new char[s1.Length];
            int mente = 0;
            for(int i = res.Length - 1; i >= 0; i--)
            {
                int tmp = (s1[i] - '0') + (s2[i] - '0') + mente;
                res[i] = (char)('0' + tmp % 2);
                mente = tmp / 2;
            }
            return new string(res);
        }
Avatar billede arne_v Ekspert
19. december 2007 - 16:18 #2
Den forudsaetter at alle stenge har samme laengde.
Avatar billede webdesigner Praktikant
19. december 2007 - 16:55 #3
tak arne V men for står ikke denne linje
(s1[i] - '0') + (s2[i] - '0') + mente;
Kunne du forklar den ??
Avatar billede webdesigner Praktikant
19. december 2007 - 16:59 #4
ohh og lige den første linje hvor for sakl der 2 strenge med i medtode add ?
Avatar billede webdesigner Praktikant
19. december 2007 - 17:00 #5
jo så smid et svar :)
Avatar billede arne_v Ekspert
19. december 2007 - 17:04 #6
hvis s1[i] er '1' saa vil (s1[i] - '0') vaere 1
tilsvarende for s2
og mente giver sig selv
Avatar billede arne_v Ekspert
19. december 2007 - 17:09 #7
det er en generel Add funktion

til 2's complement skal du altid laegge 1 til d.v.s. at du skal ikke bruge s2

der skal ogsaa vaere lidt guf til dig at lave

:-)
Avatar billede arne_v Ekspert
19. december 2007 - 17:10 #8
og et svar
Avatar billede arne_v Ekspert
19. december 2007 - 17:11 #9
s1[i] - '0'

er ioevrigt ikke specielt koent - det er C kode lavet i C#, men ....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester