logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

inne wartości tej samej zmiennej? przedziwna sprawa.

specTeam_pl 27 Mar 2009 02:52 1122 2
REKLAMA
  • #1 6338571
    specTeam_pl
    Poziom 10  
    Mam przedziwny problem z jedną zmienną..
    Ta sama liczba zapisana w różny sposób ma inne wartości binarne.
    Mianowicie:
    
    unsigned int s=0b01110100;   // 74
     
    rozklad(s);   // wyświetla binarnie s | daje wynik prawidłowy tj. 01110100
    
    s=74;
    
    rozklad2(s);   // to samo co rozklad ale w innym miejscu wyświetlacza, daje wynik 01001010
    

    __________
    wyniki powinny być identyczne, czyli 01110100 prawda? ale wcale tak nie jest! owszem o ile s=0b01110100 to wynik jest prawidłowy jeśli jednak napisze s=74 (a 74 to binarnie 01110100) to otrzymuje 01001010, ani to przesunięcie ani nic, nie wiem skąd to się bierze...

    czy ma ktoś pojęcie dlaczego tak jest?

    zamiana funkcji miejscami nic oczywiście nie daje.

    sama funkcja rozklad wygląda tak: (ale nie jest to istotne)
    
    void rozklad(int y)
    {
    
       for(int i=0 ; i<8; i++)
       {
              slowo[8-i]= (0x30 | ((y >> i) & 0x01));
       };
    }
  • REKLAMA
  • #2 6338660
    Konto nie istnieje
    Konto nie istnieje  
  • #3 6339160
    specteam
    Poziom 1  
    niech ktoś usunie mój post ;/
REKLAMA