Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odejmowanie binarme
invx
post 5.11.2004, 21:07:13
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


pomuzcie ohmy.gif , prubuje zrozumiec odejmowanie binarne, i nie moge: wszedzie pisze "odejmuje sie tak samo jak dodaje tylko zamiast nadwyzki mamy pozyczke", i jak tak na takim przykladzie zaczynam "pozyczac" to mi cuda wychodza,

110100010 - 10011111

moze znacie cos gdzie takie rozbudowaane przyklady sa opisane szczegulowo ? bo sie hyba zalamie sad.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
hwao
post 5.11.2004, 21:23:18
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




w win
start -> uruchom -> akcesoria -> Kalkulator

(u gory)
Widok -> naukowy
Potem
Widok -> Dwójkowy

i masz popatrz sobie jak tam jest i na tej podstanie napisz ;-)
Go to the top of the page
+Quote Post
Seth
post 5.11.2004, 21:44:15
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Zasada odejmowania binarnego jest taka:
A - B = A + U1(B)
Gdzie A i B to liczby binarne, a U1 (1 w dolnym indexie) to uzupełnienie jedynkowe (przesunięcie binarne).

Przyklad:
A = 15 (dec) = 01111 (bin)
B = 19 (dec) = 10011 (bin)

U1(B) = 01100

I teraz mamy:
Kod
   11
   01111   <----- A
+ 01100   <----- U1(B)
-------
   11011
Go to the top of the page
+Quote Post
Ace
post 5.11.2004, 23:16:32
Post #4





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dzieki Seth, mi tez pomogles. A tak btw... znacie jakies strony gdzie to jest bardzo jasno wytlumaczone ? bo mam na studiach wlasnie wstep do informatyki - zaoczne - wiec nie wiele tlumacza... Nie wiem skad sie co bierze, a teraz przynajmniej swiatelko w tunelu zaswiecilo. Zamiana hex na binarne, kodowania UTF8, ISO-8859 winksmiley.jpg

Ten post edytował Ace 5.11.2004, 23:18:09
Go to the top of the page
+Quote Post
hwao
post 5.11.2004, 23:30:00
Post #5


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Nie wiem czy sie przyda ale tu masz troche o zamienia :-)
click
Go to the top of the page
+Quote Post
invx
post 6.11.2004, 08:22:26
Post #6





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


Seth czyli ten drugi skladnik dzialania, odwracamy (gdzie 1 to 0 gdzie 0 to 1) i dodajemy ? i tak zawsze niezaleznia jakie mamy liczby i jak dlugie ? a gdzie sie daje to uzupelnienie jedynkowe ?, cos mi sie obilo o uszu ze to dodaje na 0 bicie ? jak bys mogl to pokazac na przykladzie tym moim:
Kod
110100010 - 10011111


P.S.
prubuje i mi cos nie wychodzi dalej


Ten post edytował invx 6.11.2004, 08:36:15


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
hwao
post 6.11.2004, 10:05:39
Post #7


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Kod
110100010 - 10011111 = 100000011

Czyli
Kod
418 - 159 = 259

Wes sobie na mniejszych liczbach pocwicz a nie odrazu...
Kod
100 (4) - 11 (3) =  1 (1)
Go to the top of the page
+Quote Post
invx
post 6.11.2004, 19:36:17
Post #8





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


o to chodzi ze na mniejszych to potrafie, ale jak przyjdzie ze sa kolo siebie z 3 zera, to juz nie potrafie ohmy.gif, niech mi ktos wyjasni ten przyklad dlugi ...


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
Seth
post 6.11.2004, 21:55:15
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


U1 - to tzw. dopelnienie binarne i tak jak pisales wczesniej, zmieniamy 0 na 1 ,a 1 na 0 smile.gif

Dodam jeszcze, ze w przypadku gdy uzyskamy "nadmiarowa" jedynke, ktora potem musimy dodac do najmniej znaczacego bitu (na poczatek), to oznacza to, ze mamy wynik dodatni.

Podam Ci jeszce jeden przyklad aby bylo jasne o co chodzi:

115 - 99 = 16(dec)

115 = 01110011(bin)
99 = 01100011(bin)

U1(99) - zmieniamy 0 na 1 i 1 na 0 reprentacje binarna 99
Czyli mamy: 10011100

Teraz dodajemy:
Kod
|1111 <--- "nadmiar"
| 01110011 <--- 115(dec)
|+10011100 <--- U1(99)
|-----------
| 00001111
<Przenosimy teraz nadmiarowa jedynke (ta ktora juz nie mozemy dodac do lidzby binarnej [musi byc 8 bitow] - gdyby byla to liczba dziesietna to dali bysmy ja na poczatek)>
+        1
-----------
00010000

Teraz chyba bedzie wszystko jasne winksmiley.jpg
Go to the top of the page
+Quote Post
Ace
post 6.11.2004, 23:00:51
Post #10





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hehe, nie winksmiley.jpg ale ok, jakos poszukam materialow na necie ...

Dzieki za staranie, chodz i tak temat nie byl moj, to i tak ja skorzystalme troszke z niego
Go to the top of the page
+Quote Post
invx
post 7.11.2004, 19:00:35
Post #11





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


sad.gif

Kod
10100001
-1110111
-------------

i teraz liczbe 1110111 odwracam i otrzymuje 0001000, dodaje je

10100001
+0001000
--------------
10101001

i sprawdzam i powinno wyjsc 101010

gdzie popelniam blad ? cos piszesz o jakiejs nadwyzce ...


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
hwao
post 7.11.2004, 19:46:02
Post #12


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




sorka invx ale ja juz to zrozumialem z opisow Seth'a chociarz mi siepcjalnie nie zalezalo :-) ( bylo super wytlumaczone ).
To torche przypomina to co sie robi przy dodawaniu pod kreska i masz wiecej niz 9
Go to the top of the page
+Quote Post
Seth
post 7.11.2004, 19:46:45
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


1110111 musi miec 8 bitow, nie 7
Powinno, wiec byc: 01110111 (119 w dec)

Teraz to odwracasz: 10001000 i dodajesz do 10100001

Nadwyzka jest wtedy kiedy dojdziesz do pierwszych cyfr tych dwoch liczb binarnych czyli bedzie
1
+ 1
----
to zapisujesz 0 a 1 (1 + 1 = 0 + nadwyzka 1) dodajesz na poczatek.
Go to the top of the page
+Quote Post
invx
post 7.11.2004, 20:21:00
Post #14





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


ok, rozumie Seth'a, tylko caly czas problem w tym ze jak sprawdzam to dzialanie na kalkulatorze (tym w windows) to inaczej pokazuje:
wg. Seth'a wychodzi: 100101001
wg. kalk. wychodzi: 101010


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2025 - 19:44