• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamiana liczby w zapisie U2 na NBC.

Object Storage Arubacloud
0 głosów
757 wizyt
pytanie zadane 9 stycznia 2016 w C i C++ przez KamilBest Użytkownik (640 p.)
Cześć, napisałem program zamieniający z liczby binarnej na szesnastkową, jednak wymagana jest zamiana z U2 tak aby zakres był od 0-255;

Obecnie program działa na zakresie od -128-127.

Ma to działać mniej więcej tak:

Użytkownik podaje binarną liczbę ujemną np. -159 (01100001), ta liczba zostaje zamieniona najpierw na dodatnią poprzez odjęcie bitu (czyli po dodaniu 8 jedynek) oraz po negacji tej liczby. Otrzymujemy dodatnie 159 co jest ostatecznie zamieniane na liczbę 16kową (z systemu dziesiętnego).

Gdy poda binarną dodatnią, to od razu zamieniamy na 16kowy.

Największą możliwą liczbą w takim przypadku może być 255 (najmniejszą -255, bo i tak zostaje zamieniona na dodatnią).

I teraz pytanie.. Jak mogę sprawdzić, czy podana liczba binarna z zakresu -255 do 255 jest dodatnia, czy ujemna?

Niby 1 bit oznacza znak i gdy będzie 1, to liczba jest ujemna, ale to nie będzie się zgadzało dla każdej liczby.

Np. 159(10)=10011111(2), a -159(10)=01100001(2)

Jest na to jakiś sposób, czy jest to raczej niewykonalne?

2 odpowiedzi

0 głosów
odpowiedź 9 stycznia 2016 przez sonquer Gaduła (4,280 p.)
Chwila, chwila, ja tutaj czegoś nie rozumiem.. Program za input przyjmuje to:
-159
czy to:
01100001

Bo jeżeli -159 to daj warunek i sprawdzaj czy liczba jest mniejsza od zera.
komentarz 9 stycznia 2016 przez Colossus Mądrala (6,410 p.)

"Użytkownik podaje binarną liczbę ujemną"

komentarz 9 stycznia 2016 przez sonquer Gaduła (4,280 p.)
W takim razie autor powinien zapisać to tak: 01100001 (-159) a nie tak: -159 (01100001).
komentarz 9 stycznia 2016 przez KamilBest Użytkownik (640 p.)

Przecież jest napisane binarną liczbę ujemną :)

komentarz 9 stycznia 2016 przez sonquer Gaduła (4,280 p.)
Czepiam się bo kłuje mnie to w oczy.
0 głosów
odpowiedź 10 stycznia 2016 przez nowyfolder Mądrala (7,250 p.)
edycja 10 stycznia 2016 przez nowyfolder
Liczba -159 nie mieści sie na 8 bitach. Łatwo to sprawdzić, bo ujemna liczba w U2 zaczyna sie od 1...

101100001 to wartosc w U2

Podobne pytania

0 głosów
0 odpowiedzi 1,271 wizyt
0 głosów
0 odpowiedzi 919 wizyt
pytanie zadane 15 listopada 2017 w Matematyka, fizyka, logika przez panstudent Nowicjusz (190 p.)
0 głosów
1 odpowiedź 662 wizyt

92,575 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...