{"id":55000353,"date":"2017-06-01T00:00:00","date_gmt":"2020-01-24T15:59:48","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=353"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Mit_Binaerzahlen_arbeiten","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html","title":{"rendered":"Mit Bin&auml;rzahlen arbeiten"},"content":{"rendered":"<p class='introduction'>Bin&auml;rzahlen &#8211; da arbeiten doch nur Computer mit, oder auch mit Hexadezimalzahlen! Das ist doch uninteressant f&uuml;r mich! Mitnichten: Einige Grundkenntnisse im Bereich des Umgangs mit Bin&auml;rzahlen haben noch keinem geschadet. Schon gar nicht, wenn man mit Access arbeitet und mit VBA programmiert. Dort ergibt sich doch das eine oder andere Mal Gelegenheit, mit einfachen Funktionen gr&ouml;&szlig;ere Probleme zu l&ouml;sen &#8211; oder die Rechenoperationen wie die logische Konjunktion oder Disjunktion einzusetzen. Dieser Artikel liefert die wichtigsten Grundlagen zu diesem Thema.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1703_Binaerzahlen.accdb<\/b>.<\/p>\n<h2>Dezimalzahlen und Bin&auml;rzahlen<\/h2>\n<p>Dezimalzahlen stammen aus dem Stellenwertsystem, mit dem wir t&auml;glich umgehen &#8211; dem Dezimalsystem. Die erste Stelle entspricht dem Einer, die zweite dem Zehner, die dritte dem Hunderter und so weiter. Dementsprechend gibt es f&uuml;r jede Stelle zehn verschiedene Ziffern von 0 bis 9. Anders sieht es beim Dualsystem oder Bin&auml;rsystem aus. Hier gibt es nur zwei verschiedene Zahlen, n&auml;mlich 0 und 1. Die erste Stelle steht wie beim Dezimalsystem f&uuml;r den Einer, aber die zweite erfasst direkt die Zweier, die dritte die Vierer und so weiter. Die Zahl 5 im Dezimalsystem entspricht dann etwa der Zahl 101 im Bin&auml;rsystem (ein Vierer, kein Zweier, ein Einer).<\/p>\n<h2>Konviertieren<\/h2>\n<p>Nun kommt es vor, dass Sie Zahlen im Bin&auml;rsystem erhalten und diese gegebenenfalls in das Dezimalsytem umwandeln wollen oder umgekehrt. Daf&uuml;r ben&ouml;tigen Sie kleine Funktionen, die Sie sich nicht selbst ausdenken m&uuml;ssen &#8211; wir stellen Sie ihnen in den folgenden Abschnitten vor.<\/p>\n<h2>Umrechnen von Dezimal zu Bin&auml;r<\/h2>\n<p>Die Funktion zum Umrechnen von dezimalen Zahlen in bin&auml;re Zahlen hei&szlig;t <b>Dec2Bin<\/b>. Sie erwartet einen <b>Long<\/b>-Wert und liefert einen String zur&uuml;ck:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>Dec2Bin(lngDecimal<span style=\"color:blue;\"> As Long<\/span>)<span style=\"color:blue;\"> As String<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>strBinaer<span style=\"color:blue;\"> As String<\/span>\r\n    <span style=\"color:blue;\">Do While<\/span> lngDecimal > 0\r\n        <span style=\"color:blue;\">If <\/span>lngDecimal <span style=\"color:blue;\">Mod<\/span> 2 = 1<span style=\"color:blue;\"> Then<\/span>\r\n            strBinaer = \"1\" & strBinaer\r\n            lngDecimal = lngDecimal - 1\r\n            lngDecimal = lngDecimal \/ 2\r\n        <span style=\"color:blue;\">Else<\/span>\r\n            strBinaer = \"0\" & strBinaer\r\n            lngDecimal = lngDecimal \/ 2\r\n        <span style=\"color:blue;\">End If<\/span>\r\n    <span style=\"color:blue;\">Loop<\/span>\r\n    Dec2Bin = strBinaer\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Sie k&ouml;nnen diese Funktion beispielsweise mit den folgenden Aufrufen im Direktbereich des VBA-Editors ausprobieren:<\/p>\n<pre> dec2bin(4096)\r\n1000000000000\r\n dec2bin(4095)\r\n111111111111<\/pre>\n<p>Die Funktion pr&uuml;ft zun&auml;chst, ob die &uuml;bergebene Zahl beim Teilen durch den Wert <b>2 <\/b>einen Rest von <b>1 <\/b>liefert. Ist dies der Fall, besetzt sie schon einmal die ganz rechte Stelle der Bin&auml;rzahl mit dem Wert <b>1<\/b>. Von der Zahl subtrahiert die Funktion dann den Wert <b>1<\/b>, da wir die <b>1 <\/b>ja schon in <b>strBinaer <\/b>abgebildet haben.<\/p>\n<p>Au&szlig;erdem teilen wir die Zahl durch den Wert <b>2<\/b>, sodass wir im folgenden Durchlauf wieder pr&uuml;fen k&ouml;nnen, ob die zweite Stelle der Bin&auml;rzahl belegt werden kann. Dies ist im ersten Teil der <b>If&#8230;Then<\/b>-Bedingung der Fall, der zweite Teil k&uuml;mmert sich darum, dass beim Teilen durch den Wert <b>2 <\/b>kein Rest &uuml;brigbleibt. In diesem Fall wird der Wert <b>0 <\/b>vorn an die Bin&auml;rzahl in <b>strBinaer <\/b>angeh&auml;ngt. Auf diese Weise durchl&auml;uft die Funktion alle Zweierpotenzen, tr&auml;gt entweder 1 oder 0 vorn in strBinaer ein und teilt die Zahl nochmals, nachdem gegebenenfalls der Wert 1 subtrahiert wurde. <\/p>\n<p>Wenn Sie die Funktion einmal im Debugging-Modus f&uuml;r einfache Werte wie 1, 2 oder 3 durchlaufen, wird der Ablauf deutlicher.<\/p>\n<h2>Umrechnen von bin&auml;r zu dezimal<\/h2>\n<p>Die folgende Funktion namens Bin2Dec wandelt eine als Variant &uuml;bergebene Bin&auml;rzahl in eine Dezimalzahl um:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>Bin2Dec(varBinaer<span style=\"color:blue;\"> As Variant<\/span>)<span style=\"color:blue;\"> As Long<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>lngDecimal<span style=\"color:blue;\"> As Long<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>intPos<span style=\"color:blue;\"> As Integer<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>bytVal<span style=\"color:blue;\"> As Byte<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Integer<\/span>\r\n    For i = <span style=\"color:blue;\">Len<\/span>(varBinaer) To 1 Step -1\r\n        bytVal = <span style=\"color:blue;\">Mid<\/span>(varBinaer, i, 1)\r\n        lngDecimal = lngDecimal + bytVal * 2 ^ intPos\r\n        intPos = intPos + 1\r\n    <span style=\"color:blue;\">Next<\/span> i\r\n    Bin2Dec = lngDecimal\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000353\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000353?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000353\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"123b777de9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bin&auml;rzahlen &#8211; da arbeiten doch nur Computer mit, oder auch mit Hexadezimalzahlen! Das ist doch uninteressant f&uuml;r mich! Mitnichten: Einige Grundkenntnisse im Bereich des Umgangs mit Bin&auml;rzahlen haben noch keinem geschadet. Schon gar nicht, wenn man mit Access arbeitet und mit VBA programmiert. Dort ergibt sich doch das eine oder andere Mal Gelegenheit, mit einfachen Funktionen gr&ouml;&szlig;ere Probleme zu l&ouml;sen &#8211; oder die Rechenoperationen wie die logische Konjunktion oder Disjunktion einzusetzen. Dieser Artikel liefert die wichtigsten Grundlagen zu diesem Thema.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662017,66032017,44000011],"tags":[],"class_list":["post-55000353","post","type-post","status-publish","format-standard","hentry","category-662017","category-66032017","category-VBAGrundlagen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mit Bin&auml;rzahlen arbeiten - Access [basics]<\/title>\n<meta name=\"description\" content=\"Bin\u00e4rzahlen \u2013 da arbeiten doch nur Computer mit, oder auch mit Hexadezimalzahlen! Das ist doch uninteressant f\u00fcr mich! Mitnichten: Einige Grundkenntnisse im Bereich des Umgangs mit Bin\u00e4rzahlen haben noch keinem geschadet. Schon gar nicht, wenn man mit Access arbeitet und mit VBA programmiert. Dort ergibt sich doch das eine oder andere Mal Gelegenheit, mit einfachen Funktionen gr\u00f6\u00dfere Probleme zu l\u00f6sen \u2013 oder die Rechenoperationen wie die logische Konjunktion oder Disjunktion einzusetzen. Dieser Artikel liefert die wichtigsten Grundlagen zu diesem Thema.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mit Bin&auml;rzahlen arbeiten - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Bin\u00e4rzahlen \u2013 da arbeiten doch nur Computer mit, oder auch mit Hexadezimalzahlen! Das ist doch uninteressant f\u00fcr mich! Mitnichten: Einige Grundkenntnisse im Bereich des Umgangs mit Bin\u00e4rzahlen haben noch keinem geschadet. Schon gar nicht, wenn man mit Access arbeitet und mit VBA programmiert. Dort ergibt sich doch das eine oder andere Mal Gelegenheit, mit einfachen Funktionen gr\u00f6\u00dfere Probleme zu l\u00f6sen \u2013 oder die Rechenoperationen wie die logische Konjunktion oder Disjunktion einzusetzen. Dieser Artikel liefert die wichtigsten Grundlagen zu diesem Thema.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/Binaerzahlen.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"9\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/Binaerzahlen.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\",\"name\":\"Mit Bin&auml;rzahlen arbeiten - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:48+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Bin\\u00e4rzahlen \\u2013 da arbeiten doch nur Computer mit, oder auch mit Hexadezimalzahlen! Das ist doch uninteressant f\\u00fcr mich! Mitnichten: Einige Grundkenntnisse im Bereich des Umgangs mit Bin\\u00e4rzahlen haben noch keinem geschadet. Schon gar nicht, wenn man mit Access arbeitet und mit VBA programmiert. Dort ergibt sich doch das eine oder andere Mal Gelegenheit, mit einfachen Funktionen gr\\u00f6\\u00dfere Probleme zu l\\u00f6sen \\u2013 oder die Rechenoperationen wie die logische Konjunktion oder Disjunktion einzusetzen. Dieser Artikel liefert die wichtigsten Grundlagen zu diesem Thema.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Mit_Binaerzahlen_arbeiten.html\",\"name\":\"Mit Bin&auml;rzahlen arbeiten\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000353"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000353\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}