Magiczny numer 0xCAFEBABE

Posted by wiktor on Jun 14, 2007 in ciekawostki, java

Magiczne liczby są dość często używane w półświatku programistycznym. Mają najróżniejsze przeznaczenia (więcej tutaj: http://en.wikipedia.org/wiki/Magic_number_(programming)). 0xCAFEBABE jest przykładem użycia takie magicznego numeru.

Gdzie występuje?

0xCAFEBABE jest umieszczane na początku każdego pliku z bajtokodem skompilowanej klasy w Javie (*.class). Jest to sygnaturka, która identyfikuje typ pliku.

Ile wynosi 0xCAFEBABE?

Jest to szesnastkowy zapis liczby 3405691582. Sama w sobie była by to nudna wartość, ale w zapisie szesnastkowym nabiera miłe znaczenie (kawiarniana panienka?, kawiarnia “Kociak”? ;) ). Ponieważ w zapisie heksadecymalnym 32-bitowej liczby nie występują litery ‘J’ ani ‘V’ to zespół tworzący Javę musiał obejść te litery.

“CAFE BABE” jest o wiele seksowniejsze (jazzy?) niż “CAFE FACE” lub co gorsza “A BAD CAFE”. Z drugiej strony można spekulować nad innymi kombinacjami, np. liczba 12648430 daje zapis 0x00C0FFEE, czyli zorientowana obiektowo kawa ;) .

Czy gdzieś wcześniej pojawiło się 0xCAFEBABE?

Po przeczesaniu słuszną (i dobrą) wyszukiwarką sieci znalazłem różne przykłady wcześniejszych zastosowań. W komputerach NeXTSTEP (tych, o których Steve Jobs już chyba zapomniał ;) ) służyła do rozróżnienia wykonywalnych plików binarnych: dla Intela czy dla Motoroli. Ciekawe, którą platformę 0xCAFEBABE reprezentowała. Może NeXTSTEP (dziś już Apple) powinien posiadać prawo do Javy w takim razie? ;)

Znacie jakieś inne przykłady zastosowań magicznych liczb?

Related Posts with Thumbnails

Reply

Copyright © 2012 Mocna Kawa All rights reserved. Theme by Laptop Geek.