Text wordt omgezet naar hamming code.

Status
Niet open voor verdere reacties.

jimowns

Gebruiker
Lid geworden
2 sep 2006
Berichten
341
Hey allemaal,

ik ben een programmatje aan het maken dat je een woord/letter intypt dat hij die in hamming code weergeeft.

Het woord/letter wordt ingegeven en dat woord/letter wordt omgezet in binair, in het binair worden er spaties in toegevoegt waar er pariteitbits moet komen te staan.
voorbeeldje:
Code:
A =11000001 
                        1 2 3 4 5 6 7 8 9 0 1 2 
met pariteitbits=           1   1 0 0    0 0 0 1
tot hiertoe lukt het prima.

Maar waar het cijfer 1 staat moet hij de positie ervan in binair omzetten en XOR.
voorbeeld:
(3) 0011
(5) 0101
(12)1100
dit wordt: 1010

Het XOR lukt me als ik dit in een intiger doe: int a = 3 ^ 5 ^ 12 ^ 0,
maar ik zet dit in een string: 3 ^ 5 ^ 12 ^ 0
Ik heb geprobeert om dit om te zetten in een integer, maar ik weet niet hoe ik dit kan uitvoeren.

Dit is mijn code.

Code:
            // Overloopet de nieuwOpslag en wanneer hij een 1 tegenkomt moet hij de positie ervan in binair zetten en XOREN
            string opslaanXOR = "";
            for (int overloopEentjes = 1; overloopEentjes <= nieuwOpslag.Length; overloopEentjes++)
            {
                if (nieuwOpslag.Substring(overloopEentjes - 1, 1) == "1")
                {
                    opslaanXOR = opslaanXOR + overloopEentjes + "^";
                }
            }
            //        3 ^ 5 ^ 12 ^   0
            string z = opslaanXOR + "0";
            Console.WriteLine(ZetOmEnVergelijkBinair(int.Parse(z), aantalPariteitbits)); // Dit is foutmelding. vanwegen de string z

Foto wanneer ik het in een try-catch zet.





Met vriendelijke groetjes, Jim.
 
Laatst bewerkt:
zoiets ?

[cpp]
string[] binNumbers = new string[] { "0011", "0101", "1100" };
int bases = 2;
int total = 0;

foreach (string x in binNumbers)
{
int tempValue = Convert.ToInt32(x, bases);
total ^= tempValue;
}

Console.WriteLine("Bin repres: {0} ",Convert.ToString(total,bases));
Console.WriteLine("Number: {0}", total);

Console.ReadLine();
[/cpp]
 
Laatst bewerkt:
Dankuwel :D, Beetje dom vanmij.

Maar als je bevoorbeeld een string hebt " string optelling = "5+6"; " kan ik dan die string naar een integer omzetten met als uitkomst in die int 11 ?
ik bedoel niet "int optelling = 5+6;" dat moet dus effectief in de string zitten.
klein voorbeeldje:
Code:
string nummer ="5"; 
int num = int.Parse(nummer);
console.writeline(num);  // Dit geeft 5 weer

-------------------------

 // Maar in deze initialitatie steekt enkel 5+6 in. Hoe kan ik dit dan uitvoeren ?
string nummer ="5+6"; 
int num = int.Parse(nummer);
console.writeline(num);



Dankuwel ;)
 
Laatst bewerkt:
tjsah je zou dan het volgende kunnen doen:


// als je van plan bent meerdere operators te gebruiken.
Enum maken van operators: "+,-,*,=";

een foreach char kunnen doen met de check " if char.IsDigit(character)"
de char casten naar een int.

is het geen digit, daarna die char casten naar een enum.
switch op de enum doen zodat je weet welke operator gebruikt is.

Iets in die geest ?

[Edit]
Volgensmij kan je geen enum van operators maken in c# =D my bad. makkelijker is gewoon de switch op de char te doen. beetje nutteloos om er eerst een enum van te maken
[/Edit]
 
Laatst bewerkt:
Aah op die manier :p.
Ik ga vanavond eens proberen, maar ik weet al wat je wilt zeggen ;).

Dankuwel voor de informatie :D


Met vriendelijke groeten, Jim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan