![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zapoznałem się z zapisem znak-moduł oraz z kodem uzupełnień do jedynki i dwójki. Próbuję zrozumieć co dzieje się w gdy wywołuję powyższy skrypt. Jeśli więc binarne 2 to 00000010, to po negacji przybiera postać 11111101, zgodnie z U1. Tylko skąd PHP wie, że liczba 11111101, to -3, a nie 253. Proszę o sugestię. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.wikipedia.org/wiki/Kod_uzupełnień_do_dwóch
Ach widzę, że już się z tym zapoznałeś. int to domyślnie int ze znakiem. A liczba całkowita ze znakiem jest reprezentowana właśnie w tym zapisie binarnym, conajmniej na większości nowoczesnych komputerów. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Upraszczając do jednego zdania:
W systemie notacji U2 najstarszy bit (najbardziej po lewej) określa znak. 0 to liczba dodatnia, a 1 to ujemna. Sprawdź to zresztą sobie sam jako zadanie domowe ![]() Zgodnie z wzorem dla 8-bitów zakres U2 jest od -128 do 127, więc wspomniane przez Ciebie 253 nawet nie ma jak wystąpić ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 07:34 |