Reklama
Pokazuje wyniki od 1 do 5 z 5

Temat: [C++] Liczby binarne

  1. #1
    Avatar Jaziq
    Data rejestracji
    2007
    Położenie
    Wrocław
    Wiek
    34
    Posty
    1,235
    Siła reputacji
    19

    Domyślny [C++] Liczby binarne

    Krótka piłka:

    Jak wygenerować liczby binarne od 0 do 127 (w tablicy bool[128][7])?

    Ktoś ma jakiś pomysł?
    ~

  2. #2

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    17

    Domyślny

    Ale jak wygenerować? Owszem mając tablicę 7 booli które byłyby bitami, można wygenerować liczby od 0 do 127, aby skonwertować na decymalny ( pseudokod ):

    Kod :
    int liczba = 0;
    liczba += tablica[0] * 2^6;
    liczba += tablica[1] * 2^5;
    liczba += tablica[2] * 2^4;
    liczba += tablica[3] * 2^3;
    liczba += tablica[4] * 2^2;
    liczba += tablica[5] * 2^1;
    liczba += tablica[6] * 2^0;
    Gdzie oczywiście tablica[0] to most significant bit a tablica[6] least significant bit.

  3. #3
    Avatar Jaziq
    Data rejestracji
    2007
    Położenie
    Wrocław
    Wiek
    34
    Posty
    1,235
    Siła reputacji
    19

    Domyślny

    Cytuj Havaran napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Ale jak wygenerować? Owszem mając tablicę 7 booli które byłyby bitami, można wygenerować liczby od 0 do 127, aby skonwertować na decymalny ( pseudokod ):

    Kod :
    int liczba = 0;
    liczba += tablica[0] * 2^6;
    liczba += tablica[1] * 2^5;
    liczba += tablica[2] * 2^4;
    liczba += tablica[3] * 2^3;
    liczba += tablica[4] * 2^2;
    liczba += tablica[5] * 2^1;
    liczba += tablica[6] * 2^0;
    Gdzie oczywiście tablica[0] to most significant bit a tablica[6] least significant bit.
    wygenerowac czyli wpisac od 0 do 127 binarnie do tablicy boolowej

    czyli:

    tab[0] = {0,0,0,0,0,0,0}
    tab[1] = {0,0,0,0,0,0,1}
    tab[2] = {0,0,0,0,0,1,0}
    etc

    @edit
    ok mam już pomysł :D

    gdyby ktos potrzebowal:

    Kod :
    void slowo_gen()
    {
    
    	for (int i = 0; i < 128; i++) 
    	{
    	int k = i;
    		if(k>63)
    		{
    		slowa[i][6] = true;
    		k-=64;
    		}
    		if(k>31)
    		{
    		slowa[i][5] = true;
    		k-=32;
    		}
    		if(k>15)
    		{
    		slowa[i][4] = true;
    		k-=16;
    		}
    		if(k>7)
    		{
    		slowa[i][3] = true;
    		k-=8;
    		}
    		if(k>3)
    		{
    		slowa[i][2] = true;
    		k-=4;
    		}
    		if(k>1)
    		{
    		slowa[i][1] = true;
    		k-=2;
    		}
    		if(k==1)
    		{
    		slowa[i][0] = true;
    		k-=1;
    		}
    
    	}
    }
    Ostatnio zmieniony przez Jaziq : 03-05-2013, 22:51
    ~

  4. Reklama
  5. #4
    Avatar Shaolineq
    Data rejestracji
    2008
    Posty
    234
    Siła reputacji
    18

    Domyślny

    Kod :
    for (int liczba=0, liczba=<127, liczba++)
    {
    	int pom=liczba;
    	for (int max=64, i=0, i=7, ++i)
      	{
    	 if pom>max then
                 {
         	     pom-=max;
          	     max/=2;
          	     tab[liczba][i]=1;       
         	     } else
         	 tab[liczba][i]=0;
    	}
    }
    nie mam zadnego kompilatora zainstalowanego, ale powinno dzialac
    ale zrobilem chujowe wciecia xD
    Ostatnio zmieniony przez Shaolineq : 03-05-2013, 22:22

  6. #5

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    17

    Domyślny

    @up
    Chujowa metoda. xD

    @topic
    Kod w php:

    Kod :
    <?php
    $table = array();
    for($i = 0; $i <= 127; $i++)
    {
    
    $counter = 64;
    $bittable = array();
    for($bits = 1; $bits <= 7; $bits++)
    {
    
    if($i & $counter == $counter)
    $bittable[] = 1;
    else
    $bittable[] = 0;
    
    $counter /= 2;
    
    
    }
    
    $table[$i] = $bittable;
    
    
    }
    W skrócie: Używamy operacji I na poziomie bitów ( & ) aby sprawdzić czy ten bit w istocie wystepuje w danym miejscu. Reszta nie powinna wymagac komentarza.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. "Animowane" losowanie liczby ? [php?js?]
    Przez BBsrv w dziale Programowanie
    Odpowiedzi: 2
    Ostatni post: 23-08-2015, 01:47
  2. Program, który wpisze dane liczby jeśli kliknę przycisk
    Przez Taviik w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 2
    Ostatni post: 28-12-2012, 19:43
  3. Kalkulator Naukowy liczby zespolone
    Przez Tazz w dziale Szkoła i nauka
    Odpowiedzi: 12
    Ostatni post: 27-11-2012, 09:12
  4. Liczby zespolone?
    Przez Szantymen w dziale Szkoła i nauka
    Odpowiedzi: 7
    Ostatni post: 06-10-2012, 18:57
  5. [MATEMATYKA]Liczby wymierne i niewymierne
    Przez EliteSonGGo w dziale Szkoła i nauka
    Odpowiedzi: 4
    Ostatni post: 21-02-2012, 22:15

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •