Sunday 19 November 2017

Opcje binarne z opcją odejmowaniem


Uwaga: Najbardziej znaczący (lewy) bit wskazuje znak liczby całkowitej, dlatego jest czasami nazywany bitem znaku. Jeśli bit znaku wynosi zero, liczba jest większa lub równa zero lub dodatnia. Jeśli bit znaku wynosi jeden, liczba jest mniejsza od zera lub ujemna. Aby obliczyć uzupełnienie 2s liczby całkowitej, odwróć binarny odpowiednik liczby, zmieniając wszystkie na zera i wszystkie zera na te (zwane także uzupełnieniem 1s), a następnie dodaj jeden. 0001 0001 (binarny 17) 1110 1111 (dwa dopełnienie -17) 1110 1110 (odwrócone bity) 1110 1110 0000 0001 1110 1111 (Dodaj 1) Dwukrotnie dodawanie dopełniacza podlega tym samym zasadom, co dodawanie binarne. Dwójki uzupełniają odejmowanie to dodanie binarne miniarki do uzupełnienia 2s od zera (dodanie liczby ujemnej jest takie samo, jak odjęcie wartości dodatniej). Dwukrotne dopełnienie mnożenia podlega tym samym zasadom, co mnożenie binarne. razy 0000 0100 Dwukrotne dzielenie dopełnień jest powtarzane odejmowanie dopełnienia 2s. Uzupełnienie 2s dzielnika jest obliczane, a następnie dodawane do dywidendy. W następnym cyklu subtrakcji iloraz zastępuje dywidendę. Powtarza się, dopóki iloraz nie jest zbyt mały do ​​odejmowania lub wynosi zero, a następnie staje się pozostałością. Ostateczna odpowiedź to suma cykli odejmowania plus pozostałość. 7 dziel resztę 3 2 1 0000 0000 0000 0001 Reprezentacja wielkości znaku Inną metodą reprezentowania liczb ujemnych jest wielkość znaku. Reprezentacja wielkości znaku również używa najbardziej znaczącego bitu liczby do wskazania znaku. Liczba ujemna to 7-bitowa reprezentacja binarna liczby dodatniej z najbardziej znaczącym bitem ustawionym na jeden. Wady stosowania tej metody do obliczeń arytmetycznych są takie, że wymagany jest inny zbiór zasad, a zero może mieć dwie reprezentacje (0, 0000 0000 i -0, 1000 0000). Reprezentacja binarna offsetu Trzecią metodą reprezentowania liczb z podpisem jest przesunięcie binarne. Rozpocznij obliczanie przesuniętego kodu binarnego, przypisując połowę największej możliwej liczby jako wartość zerową. Dodatnia liczba całkowita to wartość bezwzględna dodana do liczby zerowej i odejmuje się ujemną liczbę całkowitą. Offsetowy układ binarny jest popularny w konwersjach AD i DA, ale wciąż jest niewygodny w obliczeniach arytmetycznych. Na przykład: Największa wartość dla 8-bitowej liczby całkowitej 2 8 256 Wartość binarna przesunięta zera 256 podzielić 2 128 (dziesiętnie) 1000 0000 (binarnie) 1000 0000 (wartość binarna 0) 0001 0110 (dwójkowo 22) 1001 0110 (wartość binarna 22) Binary Kalkulator (Chcesz obliczyć operatory dziesiętne Musisz je najpierw przekonwertować.) O kalkulatorze binarnym Jest to kalkulator binarny o dowolnej dokładności. Może dodać. odejmować. zwielokrotniać. lub podziel dwie liczby binarne. Może działać na bardzo dużych liczbach całkowitych i bardzo małych wartościach ułamkowych 8212 i kombinacjach obu. Ten kalkulator jest z założenia bardzo prosty. Możesz go użyć do eksploracji liczb binarnych w ich najbardziej podstawowej postaci. Działa na liczbach binarnych ldquopurerdquo, a nie na liczbach komputerowych, jak na przykład dopełnienie dwóm2817s lub binarny zmiennoprzecinkowy IEEE. Jak korzystać z kalkulatora binarnego Wprowadź jeden operand w każdym polu. Każdy operand musi być liczbą dodatnią lub ujemną bez przecinków lub spacji, nie wyrażoną jako ułamek, a nie w notacji naukowej. Wartości ułamkowe są wskazywane przez punkt radix (lsquo. rsquo, nie lsquo, rsquo), a liczby ujemne poprzedzone są znakiem minus (ldquo-rdquo). Wybierz operację (, 8211,). Zmień liczbę bitów wyświetlanych w wyniku binarnym, jeśli różni się od wartości domyślnej (dotyczy to tylko dzielenia, a dopiero wtedy, gdy odpowiedź ma nieskończoną część ułamkową). Kliknij lsquoCalculatersquo, aby wykonać operację. Kliknij przycisk lsquoClearrsquo, aby zresetować formularz i rozpocząć od zera. Jeśli chcesz zmienić operand, po prostu wpisz pierwotny numer i kliknij lsquoCalculatersquo 8212, nie musisz najpierw klikać lsquoClearrsquo. Podobnie, możesz zmienić operatora i zachować aktualne operandy. Oprócz wyniku operacji wyświetlana jest liczba cyfr w operandach i wynik. Na przykład przy obliczaniu 1.1101 111.100011 1101.1010110111, pole ldquoNum Digitsrdquo wyświetla ldquo1.4 3.6 4.10rdquo. Oznacza to, że operand 1 ma jedną cyfrę w swojej części całkowitej i cztery cyfry w swojej części ułamkowej, operand 2 ma trzy cyfry w swojej części całkowitej i sześć cyfr w części ułamkowej, a wynik ma cztery cyfry w swojej części całkowitej i dziesięć cyfr w części ułamkowej. Dodawanie, odejmowanie i mnożenie zawsze dają wynik skończony, ale podział może (w rzeczywistości w większości przypadków) wytworzyć nieskończoną (powtarzającą się) wartość ułamkową. Nieskończone wyniki są okrojone 8212, a nie zaokrąglone 8212 do określonej liczby bitów. Nieskończone wyniki są odnotowywane z elipsą (8230) dołączoną do wyniku i symbolem lsquo8734rsquo jako liczbą cyfr ułamkowych. Dla podziałów, które reprezentują ułamkowe elementy. wynik będzie skończony. i wyświetlane z pełną dokładnością 8212 niezależnie od ustawienia liczby bitów ułamkowych. Na przykład 11010 do 24 bitów ułamkowych to 0,0001100110011001100110018230, z ldquoNum Digitsrdquo ldquo1,0 4,0 0,8734rdquo 11100 0,11, z ldquoNum Digitsrdquo ldquo2,0 3,0 0,2rdquo. Używanie kalkulatora do poznawania arytmetyki zmiennoprzecinkowej Chociaż ten kalkulator implementuje czystą binarną arytmetykę, można go użyć do eksploracji arytmetyki zmiennoprzecinkowej. Załóżmy na przykład, że chcesz wiedzieć, dlaczego, używając dwufunkcyjnej arytmetyki zmiennoprzecinkowej IEEE o podwójnej precyzji, 129,95 10 129,5.5, ale 129,95 100 12994,999999999998181010596454143524169921875. Istnieją dwa źródła niedokładności w takich obliczeniach: konwersja dziesiętna do zmiennoprzecinkowej. i arytmetyczna binarna o ograniczonej dokładności. Konwersja dziesiętna na zmiennoprzecinkową wprowadza nieścisłość, ponieważ dziesiętny operand może nie mieć dokładnej, zmiennoprzecinkowej, binarnej arytmetyki o ograniczonej dokładności, wprowadzającej nieścisłość, ponieważ obliczenia binarne mogą produkować więcej bitów niż można zapisać. W takich przypadkach występuje zaokrąglanie. 10 i 100 (oba dziesiętne) mają dokładne odpowiedniki zmiennoprzecinkowe (odpowiednio 1010 i 1100100), ale 129,95 ma tylko przybliżoną reprezentację. Mój dziesiętny na binarny konwerter powie ci, że w czystym binarnym, 129,95 ma nieskończoną część powtarzalną: 10000001.111100110011001100110011001100110011001100110 011 8230 Zaokrąglona do 53 bitów podwójnej precyzji, it8217s, która jest 129,94999999999998863131622783839702606201771875 w systemie dziesiętnym. 129,95 10 129,95 10 jest obliczana jako, która jest równa 10100010011.011111111111111111111111111111111111111111 1 Jest to 54 znaczące bity długie, więc gdy it8217 są zaokrąglone do 53 bitów, to staje się 129,95 100 129,95 100 jest obliczane jako 11001011000010,111111111111111111111111111111111111111 011 To jest 56 znaczących bitów, więc kiedy to8217 jest zaokrąglone do 53 bity stają się równe 12994,999999999998181010596454143524169921875 Dyskusja Aby wykonać ten przykład, musieliście zachowywać się jak komputer tak nużący. Najpierw trzeba było przekonwertować operandy na binarne, zaokrąglając je, jeśli to konieczne, trzeba je pomnożyć i zaokrąglić wynik. Ze względów praktycznych, wielkość wejść 8212 i liczba bitów ułamkowych w wyniku nieskończonego podziału 8212 jest ograniczona. Jeśli przekroczysz te limity, otrzymasz komunikat o błędzie. Ale w tych granicach, wszystkie wyniki będą dokładne (w przypadku podziału, wyniki są dokładne przez skróconą pozycję bitową).Binarne odejmowanie przez Rick Regan emspFebruary 9th, 2017 Jest to druga z czteroczęściowej serii na binariach ldquopencil i paperrdquo arytmetyki, która I8217m pisząc jako uzupełnienie mojego binarnego kalkulatora. W pierwszym artykule omówiono dodawanie binarne w tym artykule omówiono odejmowanie binarne. Ołówkowa metoda odejmowania binarnego jest podobna do odejmowania dziesiętnego metodą ołówkową i papierową, której nauczyłeś się w szkole podstawowej. Zamiast manipulować liczbami dziesiętnymi, manipulujesz liczbami binarnymi, zgodnie z podstawowym zestawem reguł lub ldquofacts. rdquo Odejmowanie dziesiętne W przypadku odejmowania dziesiętnego podstawowe fakty to takie, jak 5 8211 1 4, 9 8211 8 1 i 18 8211 9 9. W każdym przypadku odpowiedź jest jednocyfrową, nieujemną liczbą całkowitą. Większość faktów to pojedyncze cyfry minus jednocyfrowe problemy, ale niektóre to problemy dwucyfrowe minus jednocyfrowe (podwójne cyfry to liczby od 10 do 18). Te ostatnie oznaczają przypadki zaciągnięcia pożyczki. który jest procesem, w którym zapobiega się negatywnym odpowiedziom. Poniżej przedstawiono przykład odejmowania dziesiętnego: Po wyrównaniu punktów odejmowanie przebiega od prawej do lewej. Czerwone znaki wskazują na pożyczkę. Jeżeli pożyczona jest niezerowa cyfra, jest przekreślona, ​​jedna jest od niego odejmowana, a zmniejszona cyfra jest zapisywana nad nim a 1 jest umieszczana obok cyfry w pozycji pożyczkowej, co czyni ją dwucyfrową liczbą . Jeśli pożyczona jest cyfra zero, zaciągnij pożyczkę na żądanie, dopóki nie zostanie znaleziona cyfra niezerowa. Oto przykład, krok po kroku: niektórzy nazywają to metodą ldquoAmerican rdquo (chociaż jest to tylko jedna jej odmiana 8212, zobacz np. Film Salmana Khan8217s). Bez względu na to, jaka jest twoja metoda, możesz zastosować ją do liczb binarnych. Odejmowanie binarne W celu odjęcia binarnego zamiast setki istnieją cztery fakty: Pierwsze trzy są takie same jak w systemie dziesiętnym. Czwarty fakt jest jedynym faktem, że chodzi o pożyczkę. Ma zastosowanie, gdy cyfra ldquotoprdquo w kolumnie wynosi 0, a cyfra ldquottomrdquo wynosi 1. (Pamiętaj: w binarnym, 10 jest wymawiane ldquoone-zerordquo lub ldquotwo. rdquo) Teraz let8217s odejmij 1011.11 od 10101.101, stosując ten sam algorytm, którego użyłem do dziesiętnego numbers: Ponieważ w liczbach binarnych jest dużo zer, może być dużo pożyczek 8212 i mnóstwo niechlujnie wyglądających przekrojów. Sprawdzanie odpowiedzi Możesz sprawdzić odpowiedź na kilka sposobów. Jednym ze sposobów jest dodanie wyniku (1001.111) do odretniacza (1011.11) i sprawdzenie, czy ta odpowiedź pasuje do minuend (10101.101): Innym sposobem jest zamiana operandów na dziesiętne. odejmuj dziesiętnie, a następnie konwertuj dziesiętną odpowiedź na dwójkową. 10101.101 21,625 i 1011,11 11,75 i 21,625 8211 11,75 9,875. 9.875 1001.111, odpowiedź otrzymaliśmy za pomocą odejmowania binarnego. Możesz również sprawdzić odpowiedź za pomocą mojego kalkulatora binarnego. Odejmowanie większej liczby od mniejszej liczby Aby odjąć większą liczbę od mniejszej liczby, po prostu zamień liczby, wykonaj odejmowanie i zaneguj wynik. Dyskusja Zauważ, że nie omawiałem podstawy liczby przy opisie algorytmu, który jest niezależny od bazy. Mimo to mogłem porozmawiać o potędze dziesięciu i potęgach dwóch osób oraz o tym, jak proces ten można zwizualizować poprzez przegrupowanie. Moim celem było wyjaśnienie tylko zmechanizowanego algorytmu (prawdopodobnie odejmujesz dziesiętnie mechanicznie, nie myśląc już o tym, dlaczego to działa). Odejmowanie za pomocą uzupełnień Komputery nie odejmuj w ten sposób odejmuj, dodając uzupełnienia. Jest bardziej wydajny. Możesz odejmować, uzupełniając go za pomocą ołówka i papieru, ale nie możesz go uznać za bardziej efektywny. (W systemie dziesiętnym, użyłbyś 98217s dopełnienia lub dziesiątek dopełnienia w binarnym, użyłbyś dopełnienia lub dwójek dopełnienia.) Dzięki bardzo, to wszystko jest prostą metodą dla uczących się i nauczających vedavyas, możesz sprawdzić, która z liczb jest większy po prostu sprawdzając, który z nich zaczyna się pierwszy (z 822018221), od lewej do prawej. Na przykład let8217s mówią, że masz dwie liczby w postaci: 00001. (cztery zera, potem 1, następnie niektóre cyfry) 00000. (cztery zera, następnie 0, następnie pewna cyfra) W obu liczbach, wszystkie cztery najwyższe pozycje (moce 2) są takie same: 0, więc nie mogą się różnić od nich. Ale wtedy mamy piątą pozycję (licząc od lewej), gdzie różnica jest i jest to najbardziej znacząca różnica (ponieważ jest to również najbardziej znacząca cyfra). W pierwszym numerze znajduje się 822018221 obecnych w tej pozycji, która tunuje tę konkretną moc 2 (zawiera ją w liczbie). Ale w drugiej liczbie znajduje się w tej pozycji 882008221, co oznacza, że ​​ta moc 2 nie jest uwzględniona. Nawet jeśli wszystkie 82208221 w pierwszej liczbie zostały ustawione na 822008221, a wszystkie 82208221 w drugiej liczbie zostały ustawione na 822018221s, pierwsza liczba będzie nadal większa o 1 od dolnej liczby, ponieważ najbardziej znaczący bit PODWYŻSZA, co może być pokryte przez połączenie 82208221 bitów poniżej. Zatem wszystkie 82208221 ustawione w dolnym numerze nadal będą tą mocą 2 razy mniej, innymi słowy, bez względu na to, jak bardzo się starają, nigdy nie może dogonić liczby, która ma 822018221 na pozycji obok rzędu 82208221. Tak więc najprostszym sposobem, aby dowiedzieć się, która liczba jest większa, jest skanowanie obu liczb od lewej do prawej, bit po bicie (parami), i które zawsze zaczynają się od 822018221 jako pierwsze, jest większa. Dziękuję za to. Wydaje mi się, że nigdy tak naprawdę nie opisałem, jak określić większą liczbę, patrząc na nie w trybie binarnym. Rick, m nadal mylić i nie mogę zrozumieć: plzz wyjaśnij mi Po prostu odejmij 001110 od 110110, zamiast odjąć 110110 od 001110. Następnie, po prostu dodaj znak minus do swojej odpowiedzi. It8217s podobnie jak w systemie dziesiętnym: 3-4 jest takie samo jak - (4-3).

No comments:

Post a Comment