Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » dualzahlen subtrahieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.10.2007, 12:52 Uhr
~wtf
Gast


hallo, ich kämpfe grade etwas damit 2 dualzahlen voneinander schriftlich zu subtrahieren.

habe den fall das der subtrahend größer ist als der minuend und demnah eine negative zahl bei rauskommt.

wenn ich die regel anwende die bei der normalen subtraktion funktionieren kommt nur bullshit bei raus. habe das beispiel 45 - 50

was im dualsystem:

101101
-110010

entspricht

Kommt ja eigentlich -5 raus, aber wie rechne ich das richtig?

Wenn ich die Regel benutze die ich so im internet finde, komm ich nur auf schrott.

0-0 = 0
0-1 = -1 (= als 1 dargestellt + übertrag)
1-0 = 1
1-1 = 0

ist dann bei mir das ergebnis

1011011 .....(das das falsch ist weis ich, aber nicht wie ich es richtig mache)

die ganzen websites gehen auf diesen fall auch nur sehr stiefmüttlich bis gar nicht ein, helfen mir also auch nicht weiter.

Ich suche allerdings den weg der direkten subtraktion, die komplentbildung ist bei dieser aufgabe nicht gefragt.....kann mir jemand helfen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.10.2007, 14:03 Uhr
Blubber2063



Du hast schon daran gedacht das negative Zahlen im 2er Komplement dargestellt werden und dann addiert wird, subtraktion in dem Sinne wie im Dezimalsystem ist da nicht.
also 2 er komplement bildest du in dem du alle Stellen invertierst und dann +1 rechnest. Dein Beispiel 45 -50.

00101101 | 45
00110010 | 50
11001110 | -50
-----------
11111011 | -5
00000101 | 5
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.10.2007, 14:06 Uhr
~wtf
Gast



Zitat von Blubber2063:
Du hast schon daran gedacht das negative Zahlen im 2er Komplement dargestellt werden und dann addiert wird, subtraktion in dem Sinne wie im Dezimalsystem ist da nicht.
also 2 er komplement bildest du in dem du alle Stellen invertierst und dann +1 rechnest. Dein Beispiel 45 -50.

00101101 | 45
00110010 | 50
11001110 | -50
-----------
11111011 | -5
00000101 | 5



subtraktionsaufgaben, wo der subtrahend größer ist als der minuend sind nur über komplementbildung lösbar?

es muss dafür doch ein eine lösung geben ohne mit dem kehrwert zu arbeiten? oder hab ich da jetzt was falsch verstanden.

es geht mir weniger um die lösung, sondern mehr um die möglichen lösungswege. die komplementbildung verstehe ich, aber das ausrechnen mit übertrag ist mir nicht klar.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.10.2007, 17:51 Uhr
RedEagle



zur 1. Frage:
Soweit ich weiß, kann man nur mit Komplementbildung subtraieren.

Zum Übertrag:
bsp.:

01010
01100 +

0+0 = 0
1+0 = 1
0+1 = 1
1+1 = 10 => 0, 1 als Übertrag
0+0+Übertrag = 1

01010
01100 +
10110

1+1 ist größer 1, somit gibt es einen Übertrag, ähnlich wie im Dezimalsystem bei 5+5. Das Ergebniss von 5+5 ist größer 9, also gibt es einen Übertrag.
--
MFG RedEagle

Dieser Post wurde am 03.10.2007 um 17:52 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.10.2007, 12:55 Uhr
~wtf
Gast


ok, also das mit dem komplement ist dann notwendig wenn man eine größere zahl von einer kleineren abziehn will, im normallfall kann man das auch ohne komplement machen(wobei es nicht unbeding komfortabler ist )

allerdings hat sich mir jetzt wieder eine frage aufgetan, bei der division:

dez 19:5 = 3,8
dual 10011 : 101

die vorkommerstelle krieg ich berechnet, aber die nachkommerstelle.......


Code:

10011 : 101 = 11,
0101
-----
01001
00101
------
00100
00101
------
001000    <--- hier hol ich mir eine null zusätzlich, da ich am rest angekommen bin
000101
-------
001011     <--- jetzt versteh ich es nicht mehr, 1000 - 101 sind nicht 1011.....sonder nur 11




weis jemand wie man diese aufgabe richtig zuende rechnet, ich verstehs net.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.10.2007, 15:48 Uhr
0xdeadbeef
Gott
(Operator)



Code:
10011 : 101 = 011.110011001100...
101
-----
1001
101
-----
1001
  101
----- <-- Komma hier
  1000 <-- Periode
   101
  -----
    110
    101
    ----
      10
     101
     ----
      100
      101
      ----
      1000 <- Periode


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: