duc_bit_inf7/6_Software/UebungBinär/bitbyte.html
2025-01-02 11:58:59 +01:00

210 lines
No EOL
8.8 KiB
HTML

<html>
<head>
<title>Dokumente und Algorithmen, Bits und Bytes</title>
<meta name="author" content="Roland Mechling">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h2><div align="center">1 Bits und Bytes<br></div></h2>
<div align="right">
<a href="hexview.html"><img src="./buttons/pf_bl_re.jpg" alt="Zum n&auml;chsten Kapitel" border="0"></a>
</div>
<hr noshade size="1">
<p>
"Digitale Informationsverarbeitung" bedeutet, da&szlig; Informationen in <b>digitaler Form</b> gelesen, bearbeitet, gespeichert und transportiert wird. Die kleinste digitale Informationseinheit ist das <b>Bit</b> (Kunstwort aus "<b>bi</b>nary digi<b>t</b>"), das nur 2 Zust&auml;nde annehmen kann. Diese beiden Zust&auml;nde werden je nach Kontext mit willk&uuml;rlichen Namen belegt, z.B. "H" und "L" (f&uuml;r "high" und "low") oder "0" und "1".<br>
<br>
Im Computer werden selten einzelne Bits verarbeitet. Die kleinste Informationseinheit, auf die ein Rechner leicht zugreifen kann, ist ein <b>Byte</b>: ein Byte besteht aus 8 Bit. Nehmen wir f&uuml;r die Darstellung der einzelnen Bitwerte die obige "0/1"-Repr&auml;sentation, dann l&auml;&szlig;t sich ein Byte als eine Folge von 8 Ziffern ("0/1-Entscheidungen") darstellen, z.B.: <nobr>"1001 1101"</nobr> (mit einem Leerzeichen in der Mitte, um die Lesbarkeit zu verbessern). Da jedes Bit 2 verschiedene Zust&auml;nde annehmen kann, kann ein Byte 2<sup>8</sup>, also 256 verschiedene Zust&auml;nde annehmen. <br>
<br>
Interpretiert man ein Byte als die Darstellung einer nat&uuml;rlichen Zahl im Dual-System, dann lassen sich in einem Byte die 256 Zahlen von 0 bis 2<sup>8</sup> - 1, also von 0 bis 255 darstellen. Das Byte "1001 1101" k&ouml;nnte also die nat&uuml;rliche Zahl</p>
<table border="0" frame="void" cellspacing=-1 >
<tr align="center">
<td> Stellenwerte</td><td></td>
<td> <font color="#0000FF">2<sup>7</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>6</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>5</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>4</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>3</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>2</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>1</sup> </font></td><td></td>
<td> <font color="#0000FF">2<sup>0</sup> </font></td>
<td> </td>
</tr>
<tr align="center">
<td> <font color="#FF0000">1001 1101</font>b</td><td> = </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>7</sup></font></td><td> + </td>
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>6</sup></font></td><td> + </td>
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>5</sup></font></td><td> + </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>4</sup></font></td><td> + </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>3</sup></font></td><td> + </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>2</sup></font></td><td> + </td>
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>1</sup></font></td><td> + </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>0</sup></font></td>
</tr>
<tr align="center">
<td> 1001 1101b</td><td> = </td>
<td> 128</td><td> + </td>
<td> 0 </td><td> + </td>
<td> 0 </td><td> + </td>
<td> 16 </td><td> + </td>
<td> 8 </td><td> + </td>
<td> 4 </td><td> + </td>
<td> 0 </td><td> + </td>
<td> 1 </td><td> = </td>
<td> 157</td>
</tr>
</table>
<p>bedeuten. Um Dualzahlen von Dezimalzahlen zu unterscheiden, h&auml;ngen wir an die "0/1"-Folge einer Dualzahl ein kleines "b" (f&uuml;r "bin&auml;re" Zahl, d.h. Dualzahl), z.B.:<br>
<ul>1011b = 1*2<sup>3</sup> + 0*2<sup>2</sup> + 1*2<sup>1</sup> + 1*2<sup>0</sup> = 8 + 2 + 1 = 11</ul>
<br>
F&uuml;r die Computertechnik hat sich die &uuml;bersichtlichere Darstellung von Bytes im Hex-System durchgesetzt. Dies ist das Stellenwertsystem zur Basis 16. Um Hex-Zahlen von Zahlen in Dezimal-Darstellung zu unterscheiden, f&uuml;gen wir an die Ziffernfolge von Hex-Zahlen ein kleines "h" an:</p>
<table border="0" frame="void" cellspacing=-1 >
<tr align="center">
<td> Stellenwerte</td><td></td>
<td> <font color="#0000FF">16<sup>2</sup> </font></td><td></td>
<td> <font color="#0000FF">16<sup>1</sup> </font></td><td></td>
<td> <font color="#0000FF">16<sup>0</sup> </font></td>
<td> </td>
</tr>
<tr align="center">
<td> <font color="#FF0000">23</font>h</td><td> = </td>
<td></td><td></td> <td> <font color="#FF0000">2</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
<td> <font color="#FF0000">3</font>*<font color="#0000FF">16<sup>0</sup></font></td>
</tr>
<tr align="center">
<td> 23h</td><td> = </td>
<td></td><td></td>
<td>32</td><td> + </td>
<td>3</td><td> = </td>
<td>35</td>
</tr>
<tr><td></td> </tr>
<tr align="center">
<td> <font color="#FF0000">104</font>h</td><td> = </td>
<td> <font color="#FF0000">1</font>*<font color="#0000FF">16<sup>2</sup></font></td><td> + </td>
<td> <font color="#FF0000">0</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
<td> <font color="#FF0000">4</font>*<font color="#0000FF">16<sup>0</sup></font></td>
</tr>
<tr align="center">
<td>104h</td><td> = </td>
<td>256</td><td> + </td>
<td>0</td><td> + </td>
<td>4</td><td> = </td>
<td>260</td>
</tr>
</table>
<p> Zur Darstellung der Stellenwerte gr&ouml;&szlig;er als 9 brauchen wir im Hex-System neue Ziffern: man ben&uuml;tzt dazu die ersten Buchstaben des Alphabets. Im Hex-System kann also jede Stelle mit einer der Ziffern {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} belegt werden:
</p>
<table border="0" frame="void" cellspacing=-1 >
<tr align="center">
<td> Stellenwerte</td><td></td>
<td> <font color="#0000FF">16<sup>1</sup> </font></td><td></td>
<td> <font color="#0000FF">16<sup>0</sup> </font></td>
<td> </td>
</tr>
<tr align="center">
<td> <font color="#FF0000">AC</font>h</td><td> = </td>
<td> <font color="#FF0000">10</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
<td> <font color="#FF0000">12</font>*<font color="#0000FF">16<sup>0</sup></font></td>
</tr>
<tr align="center">
<td> ACh</td><td> = </td>
<td> 160</td><td> + </td>
<td> 12 </td><td> = </td>
<td> 172 </td>
</tr>
<tr><td></td> </tr>
<tr align="center">
<td> <font color="#FF0000">FF</font>h</td><td> = </td>
<td> <font color="#FF0000">15</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
<td> <font color="#FF0000">15</font>*<font color="#0000FF">16<sup>0</sup></font></td>
</tr>
<tr align="center">
<td> FFh</td><td> = </td>
<td> 240</td><td> + </td>
<td> 15 </td><td> = </td>
<td> 255 </td>
</tr>
</table>
<p>
Dies sind Beispiele f&uuml;r den numerisch interpretierten Inhalt eines Byte. Ein Byte wird also im Hexsystem immer als eine 2-stellige Zahl dargestellt.<br>
<br>
<br>
<font size="+1"><b>&Uuml;bungen:</b></font><br>
<script language="javascript">
<!--
function WertHolen(Name) {
var Wert = 0;
if(document.cookie) {
var Wertstart=document.cookie.indexOf(Name+"=");
if (Wertstart == -1)
Wert = 0
else
{
Cooki = document.cookie.substring(Wertstart+Name.length+1,document.cookie.length);
var Wertende = Cooki.indexOf(";");
if (Wertende == -1)
Wertende = Cooki.length;
Wert = parseInt( Cooki.substring(0,Wertende));
}
}
return Wert;
}
-->
</script>
<ol start="1" type="1">
<li><a href="DualDez.html" target="blank" >Umrechnung von Dual- in Dezimalzahlen.</a>
<script language="javascript">
<!--
if (WertHolen("DualDezR")>6)
document.write("<img src=Ok.gif>")
else
document.write("<img src=No.gif>") ;
-->
</script>
<br></li><br>
<li><a href="DezDual.html" target="blank" >Umrechnung von Dezimal- in Dualzahlen.</a>
<script language="javascript">
<!--
if (WertHolen("DezDualR")>6)
document.write("<img src=Ok.gif>")
else
document.write("<img src=No.gif>") ;
-->
</script>
<br></li><br>
<li><a href="HexDez.html" target="blank" >Umrechnung von Hex- in Dezimalzahlen.</a>
<script language="javascript">
<!--
if (WertHolen("HexDezR")>6)
document.write("<img src=Ok.gif>")
else
document.write("<img src=No.gif>") ;
-->
</script>
<br></li><br>
<li><a href="DezHex.html" target="blank" >Umrechnung von Dezimal- in Hexzahlen.</a>
<script language="javascript">
<!--
if (WertHolen("DezHexR")>6)
document.write("<img src=Ok.gif>")
else
document.write("<img src=No.gif>") ;
-->
</script>
<br></li><br>
</ol><br>
<br>
<hr noshade size="1">
<div align="center">
<a href="hexview.html"><img src="./buttons/pf_bl_re.jpg" alt="Zum n&auml;chsten Kapitel" border="0"></a>
</div>
<br>
</body>
</html>