Binär addition

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Hittade en sida. För att få en adderare att bete sig som en subtraherare så får man sätta en "etta" till Carry IN på första kretsen. Så då blir det såhär:

(LSB först)
1111111111 Carry
1100111111 12
1011111111 -2
1000111111 Sum 10

Det var det här jag menade med overflow i ett tidigare inlägg. Men det var tydligen subtraktion.

/Jon
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Swech: fel!!!
0000000000 = 0
1111111111 = -1
1111111110 = -2
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Haha då blir ju min ekvation fel. Fast svaret blir rätt??? eh.
/Jon
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Om det var så att du kunde räkna med binära tal hade du nog fått till det.

din: (LSB rätt)
1111111111 Carry
1111110011 12
1111111101 -2
1111110001 Sum 10

är EGENTLIGEN
1111111111 Carry
1111110011 -13
1111111101 -3
1111110001 Sum -15

Så du kanske ska kolla lite på din uträkning...
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Host.
Det var ju så att 1111110011 var den inverterade insignalen.
Igentligen 0000001100 vilket är 12.
som jag ville lägga till 2 till så det blev 14
0000001110
Men när vi ska göra detta bakvägen så blir det som du skriver:
1111111111 Carry
1111110011 -13
1111111101 -3
1111110001 Sum -15
Ut får jag
0000001110 vilket jag ville ha fats jag tänkte inverterat när jag räknade.
Problem solved.
/Jon
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Att invertera bitmässigt är INTE att skapa det motsvarande negativa värde. Att det kan fungera i detta fall är ju egentligen bara en fråga om att justera additionsvärdet till allt är rätt.

Edit: tänkte lite medan lilltösa fick en sup och med alla bits in och ut inverterat blir det ju rätt. Skit samma, bara det fungerar för dig.

Och kom ihåg: ingen oanslutna ingångar! ALLA ska ha fasta nivåer.
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Jo precis detta är ju till ett redan befintligt system där de tyckte det var kul att göra tvärt om. OCH nu så rättar jag ju till de lösa tamparna. Kom på en grej råkar det vara så att en atmega8515 har pull up motstånden innprogrammerade? Kanske därför de saknas original. Ska forska i ämnet. Jag återkommer när detta är testat i hårdvara.

/Jon
Skriv svar