<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2K &#8211; abow &#8211; how do you do IT</title>
	<atom:link href="https://abow.info/tag/2k/feed/" rel="self" type="application/rss+xml" />
	<link>https://abow.info</link>
	<description>Alle möglichen Handkniffe, die ich mir so zusammentrage im Berufsalltag</description>
	<lastBuildDate>Tue, 02 Jun 2026 22:04:10 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://abow.info/wp-content/uploads/2026/06/cropped-favicon-512-32x32.png</url>
	<title>2K &#8211; abow &#8211; how do you do IT</title>
	<link>https://abow.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>FISI // Zweierkomplement (2K): negative Zahlen darstellen &#038; umrechnen (Teil 1)</title>
		<link>https://abow.info/ausbildung_fachinformatiker/fisi-zweierkomplementdarstellung-im-binaersystem-2k-verstehen/</link>
					<comments>https://abow.info/ausbildung_fachinformatiker/fisi-zweierkomplementdarstellung-im-binaersystem-2k-verstehen/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Fri, 05 Jun 2026 17:00:00 +0000</pubDate>
				<category><![CDATA[Ausbildung Fachinformatiker]]></category>
		<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Systemintegration]]></category>
		<category><![CDATA[2K]]></category>
		<category><![CDATA[Binärsystem]]></category>
		<category><![CDATA[Bitoperationen]]></category>
		<category><![CDATA[Negative Zahlen]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Zahlensysteme]]></category>
		<category><![CDATA[Zweierkomplement]]></category>
		<guid isPermaLink="false">https://abow.info/?p=437</guid>

					<description><![CDATA[Wie speichert ein Rechner eine negative Zahl, wenn er doch nur Nullen und Einsen kennt? Es gibt kein Minuszeichen im Speicher – nur Bits. Die Antwort heißt Zweierkomplement…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wie speichert ein Rechner eine <strong>negative Zahl</strong>, wenn er doch nur Nullen und Einsen kennt? Es gibt kein Minuszeichen im Speicher – nur Bits. Die Antwort heißt <strong>Zweierkomplement (2K)</strong>, und genau das ist auch ein Dauerbrenner in der FISI-Prüfung. In <strong>Teil 1</strong> geht es um die Darstellung und beide Rechenrichtungen mit den Algorithmen, mit denen man jede Aufgabe sicher löst – ganz ohne Raten.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Diese Reihe:</strong> Teil 1 – Darstellen &amp; Umrechnen (dieser Beitrag) · <strong>Teil 2 – <a href="#">Wertebereiche &amp; Rechnen wie ein Computer</a></strong></p>
</blockquote>



<h2 class="wp-block-heading">Das VZ-Bit – der Trick mit dem Vorzeichen</h2>



<p class="wp-block-paragraph">Der Kern der 2K-Darstellung: Das <strong>Bit ganz links</strong> ist reserviert und signalisiert das Vorzeichen einer ganzen Zahl (VZ-Bit).</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">MSB (linkes Bit)</th><th class="has-text-align-left" data-align="left">Bedeutung</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center"><code>0</code></td><td class="has-text-align-left" data-align="left">⊕ positive Zahl</td></tr><tr><td class="has-text-align-center" data-align="center"><code>1</code></td><td class="has-text-align-left" data-align="left">⊖ negative Zahl</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Bei einer <strong>positiven</strong> Zahl ist nichts Besonderes zu tun – sie wird gelesen wie normales Binär:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><code>0101₂ₖ = 0101₂ = 5₁₀</code></p>
</blockquote>



<p class="wp-block-paragraph">Bei einer <strong>negativen</strong> Zahl (MSB = <code>1</code>) reicht das normale Ablesen nicht. Hier muss ein Algorithmus angewendet werden:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><code>101₂ₖ = ?</code> → Algorithmus anwenden</p>
</blockquote>



<h2 class="wp-block-heading">Algorithmus 1: negative 2K-Zahl → negative Dezimalzahl</h2>



<p class="wp-block-paragraph">Gegeben: <code>101₂ₖ</code>. Das MSB ist <code>1</code>, also ist die Zahl negativ.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Schritt</th><th class="has-text-align-left" data-align="left">Aktion</th><th class="has-text-align-left" data-align="left">Ergebnis</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-left" data-align="left">Bitweise invertieren</td><td class="has-text-align-left" data-align="left"><code>101</code> → <code>010</code></td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-left" data-align="left">Eine <code>1</code> binär addieren</td><td class="has-text-align-left" data-align="left"><code>010 + 1 = 011</code></td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-left" data-align="left">Dezimalwert im normalen Binärsystem</td><td class="has-text-align-left" data-align="left"><code>011₂ = 3</code></td></tr><tr><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-left" data-align="left">Vorzeichen ⊖ setzen</td><td class="has-text-align-left" data-align="left"><strong><code>-3</code></strong></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Ergebnis:</strong> <code>101₂ₖ = -3₁₀</code></p>
</blockquote>



<h2 class="wp-block-heading">Algorithmus 2: negative Dezimalzahl → 2K-Darstellung</h2>



<p class="wp-block-paragraph">Gegeben: <code>-14₁₀</code>. Wir arbeiten mit dem <strong>Betrag</strong>: <code>|-14| = 14</code>.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Schritt</th><th class="has-text-align-left" data-align="left">Aktion</th><th class="has-text-align-left" data-align="left">Ergebnis</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-left" data-align="left">Betrag binär darstellen (<code>14</code> = 8+4+2)</td><td class="has-text-align-left" data-align="left"><code>1110</code></td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-left" data-align="left">Bitweise invertieren</td><td class="has-text-align-left" data-align="left"><code>0001</code></td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-left" data-align="left">Eine <code>1</code> binär addieren</td><td class="has-text-align-left" data-align="left"><code>0001 + 1 = 0010</code></td></tr><tr><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-left" data-align="left">MSB ist keine <code>1</code>? → zusätzliches Bit links anhängen und auf <code>1</code> setzen</td><td class="has-text-align-left" data-align="left"><code>1</code>+<code>0010</code> = <strong><code>10010</code></strong></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Ergebnis:</strong> <code>-14₁₀ = 10010₂ₖ</code></p>
</blockquote>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Wichtig:</strong> Keine Stellen „verschlucken&#8220;! <code>10010₂ₖ ≠ 10₂ₖ</code>. Die führenden Nullen gehören zur Zahl dazu.</p>



<h2 class="wp-block-heading">Beispiel 3: positive Zahl in fester Bitbreite (8 Bit)</h2>



<p class="wp-block-paragraph">Damit beide Vorzeichen abgedeckt sind, noch ein positives Beispiel – diesmal mit fest vorgegebener Bitbreite von <strong>8 Bit</strong> (ein Byte), wie es in der Praxis üblich ist.</p>



<p class="wp-block-paragraph">Gegeben: <code>+42₁₀</code>.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Schritt</th><th class="has-text-align-left" data-align="left">Aktion</th><th class="has-text-align-left" data-align="left">Ergebnis</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-left" data-align="left">Zahl binär darstellen (<code>42</code> = 32+8+2)</td><td class="has-text-align-left" data-align="left"><code>101010</code></td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-left" data-align="left">Auf 8 Bit auffüllen (führende Nullen)</td><td class="has-text-align-left" data-align="left"><code>00101010</code></td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-left" data-align="left">MSB prüfen: <code>0</code> → positiv, fertig</td><td class="has-text-align-left" data-align="left"><strong><code>00101010</code></strong></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Ergebnis:</strong> <code>+42₁₀ = 00101010₂ₖ</code></p>
</blockquote>



<p class="wp-block-paragraph">Bei positiven Zahlen ist also kein Invertieren nötig – wichtig ist nur, dass durch das führende <code>0</code>-Bit das Vorzeichen stimmt. Würde man <code>42</code> ohne die führende Null in 6 Bit schreiben (<code>101010</code>), wäre das MSB eine <code>1</code> und der Rechner läse die Zahl fälschlich als <strong>negativ</strong>. Auch hier gilt: <strong>Bitbreite entscheidet.</strong></p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> IT-Hinweis: Warum Schritt 4 nötig ist (Bitbreite)</h2>



<p class="wp-block-paragraph">Der vierte Schritt in Algo 2 wirkt auf den ersten Blick wie ein „Notfix&#8220; – tatsächlich steckt dahinter das wichtigste Prinzip von 2K: <strong>Zweierkomplement ist nur eindeutig, wenn die Bitbreite feststeht.</strong></p>



<p class="wp-block-paragraph">Bei <code>0010</code> wäre das MSB <code>0</code>, der Rechner würde die Zahl als <strong>+2</strong> interpretieren – nicht als <code>-14</code>. Erst durch das gesetzte führende <code>1</code>-Bit wird das Vorzeichen korrekt signalisiert. Anders gesagt: Du musst von Anfang an genug Stellen einplanen, damit</p>



<ul class="wp-block-list">
<li>der <strong>Betrag</strong> hineinpasst <strong>und</strong></li>



<li>noch eine <code>0</code> als „Platz&#8220; fürs Vorzeichen frei bleibt.</li>
</ul>



<p class="wp-block-paragraph">Genau deshalb landen wir bei <code>-14</code> auf <strong>5 Bit</strong> (<code>10010</code>). In einem klassischen 8-Bit-Byte wäre dieselbe Zahl <code>11110010₂ₖ</code>. Beide sind korrekt – sie unterscheiden sich nur in der Bitbreite. In der Prüfung also immer prüfen: <em>Wie viele Bits sind vorgegeben?</em></p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zum Selbst-Ausprobieren: PowerShell-Demo</h2>



<p class="wp-block-paragraph">Da man Theorie am besten am Rechner festigt, hier ein kleines Skript, das beide Richtungen umsetzt:</p>



<pre class="wp-block-code"><code>&lt;#
.SYNOPSIS
    Demonstriert die Umrechnung Dezimal &lt;-&gt; Zweierkomplement.
.DESCRIPTION
    Zwei Funktionen:
      ConvertTo-TwosComplement   -&gt; Dezimalzahl in 2K-Bitstring (feste Bitbreite)
      ConvertFrom-TwosComplement -&gt; 2K-Bitstring zurueck in Dezimalzahl
.NOTES
    Name: PS_Zweierkomplement_Umrechnung
    Author: Andreas Bowitz
    Version: 0.1
    LastUpdated: 2026-Jun-02
#&gt;

function ConvertTo-TwosComplement {
    param(
        &#91;Parameter(Mandatory)]&#91;int]$Value,
        &#91;int]$Bits = 8
    )
    # Bitmaske auf die gewuenschte Breite begrenzen
    $mask = &#91;int](&#91;math]::Pow(2, $Bits) - 1)
    $tc   = $Value -band $mask
    return &#91;Convert]::ToString($tc, 2).PadLeft($Bits, '0')
}

function ConvertFrom-TwosComplement {
    param(
        &#91;Parameter(Mandatory)]&#91;string]$Bitstring
    )
    $width = $Bitstring.Length
    $value = &#91;Convert]::ToInt32($Bitstring, 2)
    # MSB gesetzt -&gt; negative Zahl
    if ($Bitstring&#91;0] -eq '1') {
        $value = $value - &#91;int]&#91;math]::Pow(2, $width)
    }
    return $value
}

# --- Test anhand der Beispiele aus dem Artikel ---
ConvertFrom-TwosComplement -Bitstring '101'        # -&gt; -3
ConvertTo-TwosComplement   -Value -14 -Bits 5      # -&gt; 10010
ConvertTo-TwosComplement   -Value -14 -Bits 8      # -&gt; 11110010
ConvertTo-TwosComplement   -Value  42 -Bits 8      # -&gt; 00101010</code></pre>



<h2 class="wp-block-heading">Zusammenfassung</h2>



<ul class="wp-block-list">
<li>Das <strong>MSB</strong> entscheidet das Vorzeichen: <code>0</code> = positiv, <code>1</code> = negativ.</li>



<li><strong>Positive</strong> Zahlen liest man wie normales Binär ab.</li>



<li><strong>Negative</strong> Zahlen werden über die immer gleichen Schritte umgerechnet: <em>invertieren → +1 → ablesen</em> (und je nach Richtung Vorzeichen setzen bzw. Bitbreite beachten).</li>



<li>2K ist nur <strong>mit fester Bitbreite eindeutig</strong> – das ist der Schlüssel, um Prüfungsaufgaben sauber zu lösen.</li>
</ul>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Weiter geht&#8217;s in <strong><a href="#">Teil 2: Wertebereiche &amp; Rechnen wie ein Computer</a></strong> – dort sehen wir, <em>wie viele</em> Zahlen in <em>n</em> Bit passen und wie eine CPU damit rechnet (inkl. Überlauf).</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/ausbildung_fachinformatiker/fisi-zweierkomplementdarstellung-im-binaersystem-2k-verstehen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
