Binært tal konverter

Tags:    c#

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





5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato


Hej Morten,

De fleste operationer vil sige at du skal invertere samtlige bits i tallet og derefter lægge 1 (0000 0001 binært) til.

Der er mange andre måder at representere negative tal, men dette er den oftest benyttede metode i moderne computere. Derved bliver additions operationer i computeren hurtigere at foretage også med negative tal, idet at normal binær addition blot benyttes med det negative tal.

Det skal noteres at det også er derfor at de fleste programmeringssprog har |MAX-POSITIVT-TAL - 1| = |MAX-NEGATIVT-TAL|. Det er det først forekommende bit i det binære talmønster som derved specificerer om tallet er negativt eller positivt (som andre har skrevet).

Med venlig hilsen
Ieet





Der findes ikke negative binære tal, hvis du mener der gør det ville jeg da gerne have et link til en side der påstår det.



Jo, negative tal kan også repræsenteres binært, se f.eks:
http://www.udvikleren.dk/C/Thread.aspx/1/478/

Binære tal er bare to talssystem i stedet for 10 eller 16.



Ved godt du kan representære negetive og positive tal med et binært tal mønster det gør dog ikke det binære tal negativt, hvis det er det han vil have skulle han jo bare fortælle hvilket af de 16 bit der representere sign, formentlig det første eller sidste, og sp flip det.



Grunden til at det er |MAX-POSITIVT-TAL - 1| = |MAX-NEGATIVT-TAL| er meget simplere, tallet 0 anses for et positivtivt tal, derfor er det højeste positive tal en mindre end det højeste negative tal.



t