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

Ćwiczenie - NSA 2 LNU c++

Object Storage Arubacloud
0 głosów
547 wizyt
pytanie zadane 4 maja 2023 w C i C++ przez meyuil Nowicjusz (150 p.)

Zadanie:
spisałeś się tak dobrze, że kolejne zlecenie od NSA było oczywistością: otwartość, przejrzystość i budowanie długotrwałych relacji!
Uzupełnij funkcję void decompression dekompresującą dane zawarte w postaci binarnej w zmiennej just_some_compressed_data typu int, do wartości typu bool w tablicy just_some_data[32]. Podobnie jak w poprzednim zleceniu: pierwszy bit z lewej strony (czyli bit najbardziej wartościowy) odpowiada pierwszemu elementowi tablicy (czyli elementowi o indeksie 0). Wartość jeden bitu zamień na wartość true elementu tablicy, wartość zero na wartość false. 

void decompression( unsigned int just_some_compressed_data, bool just_some_data[32] )
{
}

Jak sie za to zabrac??

1 odpowiedź

0 głosów
odpowiedź 5 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
edycja 5 maja 2023 przez pasjonat_algorytmiki
int idx = 0;
while(liczba > 0)
{
        int digit = liczba % 10;
        if (digit == 0) 
             tab[idx] = false;
        else
               tab[idx] = true;
        idx++;
        liczba /= 10;
}

Na przykład tak. Możesz alternatywnie innaczej przekonwertować liczbę z binarnego na dziesietny algorytmem zachlanym po potęgach dwójki. 

komentarz 5 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Tylko tam oczywiście będziesz mial to zapisane, że od idx-u 0, więc jak Ci się nie podoba, to możesz se odwrócić.
komentarz 5 maja 2023 przez TOWaD Mądrala (6,000 p.)

Raczej %2 lub >> 

Lub link

komentarz 5 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Chyba źle zrozumiałem treść, jeśli zadaniem jest przekonwertować int-a na binarny, to oczywiście masz rację. Jeśli zadaniem jest przekonwertować inta, który przechowuje jakiś ciąg zer i jedynek w incie, to tak jak napisałem. Chyba faktycznie tu chodzi poprostu o przekonwertoeanie na binarny, to wtedy naturalnie tak jak podałeś trzeba zrobić.
komentarz 6 maja 2023 przez meyuil Nowicjusz (150 p.)

@pasjonat_algorytmiki, tylko tu nie mamy sprecyzowanej ani liczby ani tab wiec nie wiem jak inaczej

Wydaje mi sie ze powinno wygladac podobnie tylko nie wiem gdzie tu może być błąd???

{
for(int i =0; i<32;i++)
just_some_data[i] = bool just_some_comressed_data >> (32 - i) & 1
)

 

komentarz 6 maja 2023 przez TOWaD Mądrala (6,000 p.)
edycja 6 maja 2023 przez TOWaD

? <= online

edit:: małapoprawka

komentarz 6 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)

@meyuil, 

Jeśli trzeba przekonwertować na binarny TOWaD dał 4 komentarze wyżej dobry link. Jeśli trzeba liczbę które jest intem, ale składa się z zer i jedynek i chcesz ja przekonwertować na system binarny, to tak jak ja napisałem w odpowiedzi. 

Podobne pytania

0 głosów
1 odpowiedź 891 wizyt
pytanie zadane 29 maja 2021 w C i C++ przez VesoMa Nowicjusz (120 p.)
+1 głos
1 odpowiedź 897 wizyt
pytanie zadane 23 czerwca 2022 w SQL, bazy danych przez Vladyslav Yavorskyi Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 557 wizyt
pytanie zadane 14 kwietnia 2022 w Python przez mewtwo Użytkownik (830 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 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!

...