2009-11-27 5 views
6

Szukam niezapomnianej 32-bitowej wartości do wykorzystania jako stała. Jeśli to możliwe, powinno to być trochę zabawne.Niezapomniana wartość 32-bitowa jako stała

Do tej pory mają pochodzić z tych dwóch:

0xcafebabe 

0xdeaddad 

można zasugerować kilka innych też?

Dziękuję.

+3

Być może mógłbyś spróbować publikować na funnyhexconstants.com, ponieważ tak naprawdę nie jest to związane z programowaniem. –

+6

Podoba mi się to pytanie, proszę zrobić wspólnotowe wiki, żeby się nie zamknęło. –

+4

Jak to nie dotyczy programowania? –

Odpowiedz

2

Klasyczny jest 0xdeadbeef.

+2

Nie użyłbym tego, ponieważ jest tak powszechny jak granica pamięci. –

+0

Nie rozumiem: w jaki sposób 0xDEADBEEF jest granicą pamięci? –

+1

Oznacza to, że przydział pamięci akcji często używa go do oznaczania nieprzydzielonych bloków już, więc jego użycie do oznaczania czegoś innego byłoby w konflikcie z tym użyciem. –

1

Oto kolejny: 0xDEADCAFE :)

+0

Ten jest przeznaczony do programowania tatami w C! 0xFEEDBABE :) – t0mm13b

3

Oto grono hex words, które można wykorzystać, aby stała.

fragment niektóre słowa:

ba5eba11 
bedabb1e 
be5077ed 
b0a710ad 
b01dface 
cab005e 
ca11ab1e 
ca55e77e 
deadbea7 
defec8 
f01dab1e 
f005ba11 
0ddba11 
5ca1ab1e 
7e1eca57 
+0

w szczególności nieobecny na tej liście to b00b1e5. – phkahler

14

Zastanawiam się, że jako programista trzeba zadać. Po tym wszystkim, aby znaleźć odpowiednie słowa, potrzebny jest word-list i jednolinijkowy język C++.

#include <iterator> 
#include <string> 
#include <algorithm> 
#include <iostream> 
#include <boost/lambda/lambda.hpp> 
#include <boost/lambda/bind.hpp> 

int main() 
{ 
    using namespace boost::lambda; 
    std::remove_copy_if(
     std::istream_iterator<std::string>(std::cin), 
     std::istream_iterator<std::string>(), 
     std::ostream_iterator<std::string>(std::cout, " "), 
     bind(&std::string::size, _1) != 8u 
      || 
     bind(
      static_cast<std::string::size_type (std::string::*)(const char*, std::string::size_type) const>(
       &std::string::find_first_not_of 
      ), 
      _1, 
      "abcdefgiost", 
      0u 
     ) != std::string::npos 
    ); 
} 
+9

+1 dla "jednolinijkowego C++" :) – Jimmy

+1

To nie jest jedno-liniowy. – phkahler

1

0xBADDD00D, 0xBADDFACE, 0xCAFEF00D, 0xBAADCAAB, 0xBADCAB1E etc etc

3

Można je znaleźć się dość łatwo.

sed '/[^a-folt]/d' /usr/share/dict/words | tr olt 017 | 
awk '{print length, $0}' | sort -n | cut -f2- -d' ' 
1

0x00abacab

(Co się stało WAY Peter Gabriel po lewej).

1

jestem fanem 0xBAADF00D.