Avatar billede reon Nybegynder
26. maj 2008 - 21:52 Der er 4 kommentarer og
1 løsning

Binær tal

Hej
Jeg skal bruge lidt hjælp til at lave en lille c# program
Der kan. Konvertere et positivt binært tal (16 bit) til det numeriske tilsvarende negative binære tal.

og så konvertere et negative binært tal (16 bit) til det numeriske tilsvarende positive binærer tal.

P.S
hvis muligt må det godt blive lavet i windows form
Avatar billede arne_v Ekspert
26. maj 2008 - 21:56 #1
v = -v;

:-)

Lad mig gætte: du vil have det konverteret fra og til ikke binært men en string med "..1011001..." ?
Avatar billede arne_v Ekspert
26. maj 2008 - 22:19 #2
Noget hurtigt kode (husk at slå check for arithmetisk overflow fra !):

using System;
using System.Text;

namespace E
{
    public class Program
    {
        public static short FromBin(string s)
        {
            short res = 0;
            char[] sa = s.ToCharArray();
            for (int i = 0; i < 16; i++)
            {
                res = (short)((res << 1) | (sa[i] == '1' ? 1 : 0));
            }
            return res;
        }
        public static string ToBin(short v)
        {
            string res = "";
            short tmp = v;
            for (int i = 0; i < 16; i++)
            {
                res = (tmp & 1) + res;
                tmp = (short)(tmp >> 1);
            }
            return res;
        }
        public static void Main(string[] args)
        {
            short v = 77;
            string posstr = ToBin(v);
            short posnum = FromBin(posstr);
            Console.WriteLine(posstr + " " + posnum);
            v = (short)-v;
            string negstr = ToBin(v);
            short negnum = FromBin(negstr);
            Console.WriteLine(negstr + " " + negnum);
            Console.ReadKey();
        }
    }
}
Avatar billede reon Nybegynder
28. maj 2008 - 22:24 #3
Giv et svar så jeg kan kom af med de point :)
Avatar billede reon Nybegynder
28. maj 2008 - 22:27 #4
undskyld Arne V skulle lige find ud af hvordan jeg kunne give point så jeg skylder dig 100 point
Avatar billede arne_v Ekspert
29. maj 2008 - 00:16 #5
Metoden i http://www.expfaq.dk/giv_flere_point#giv_flere_point kan også bruges i
denne slags sager.
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