--
Paweł Spychalski aka Dziku
<< http://www.dzikie.net/ - dz...@dzikie.net - GG #1143854 >>
<< "Nie kradnij, rząd nie lubi konkurencji" >>
TJD
No i co z tego ?
A pentium ma 32 bitowe a itanium 64 bitowe
a nowe GPU 128 lub 512 bitowe.
Bajt ma akurat 8 bitow bo na tylu bitach da sie zakodowac
256 roznych znakow np ASCII.
Pozdr,
Marcin Tworek
>
> Gawel
>
>
Powiem jedno panowie jak macie tak odpisywac to sie lepiej w ogole nie
odzywajcie.
Bajt sklada sie z 8 bitow ale tylko 7 jest wykorzystanych 8-y to bit
parzystosci.
Pozdrawiam.
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Stuknij sie 3 razy w glowe zanim znowu napiszesz taka bzdure.
Pozdr,
Marcin Tworek
Ze co????
--
Zielok
www.3dglare.prv.pl
> Bajt sklada sie z 8 bitow ale tylko 7 jest wykorzystanych 8-y to bit
> parzystosci.
> Pozdrawiam.
>
Poza tym wszyscy zdrowi ?
F.
czesc,
moim skromnym zdaniem, nie jest to zadnym powodem
podobnie jak z kazda jednostka, trzeba ja bylo pomnozyc
lub podzielic.Ktos mial fantazje i tak sobie to wymyslil.
To kwestia umowy, podobnie jak metr,gram,stopien celsjusza
kelwina, farenheita,
pozdrawiam
martti
A dla przykładu IBM wymiślił sobie kiedyś, że bajtem będzie nazywał 9
bitów...
BTW Nie mylcie "słowa" z "bajtem" bo w większości przypadków to co innego.
Elektriko
> moim skromnym zdaniem, nie jest to zadnym powodem
> podobnie jak z kazda jednostka, trzeba ja bylo pomnozyc
> lub podzielic.Ktos mial fantazje i tak sobie to wymyslil.
> To kwestia umowy, podobnie jak metr,gram,stopien celsjusza
> kelwina, farenheita,
Nie zupelnie. Pewne ograniczenia sa narzucone z gory.
Oczywiscie nie sa to super sztywne ograniczenia, ale nie stosowanie
sie do nich byloby maksymalnym utrudnianiem sobie zycia.
Jako ze w kompach stosujemy system binarny to bajt musi
byc jakas potego liczby 2. Czyli mamy 2^3=8, co daje nam
mozliwosc zakodowania 256 znakow. Gdyby za bajt uznac
2^2=4 daje mozliwosc zakodowania 16 znakow, czyli duzo
za malo, Gdyby to bylo 2^4=16, to daje to mozliwosc zakodowania
65536 znakow, czyli o wiele za duzo. Wiec 8 bitow jako
jeden bajt jest najbardziej optymalne.
Pozdr,
Marcin Tworek
A o rachunkach w systemach dwójkowych, ósemkowych i szesnastkowych
słyszeli "cuś"?
nie podpierajac sie jakas konkretna literatura historyczna podam swoja
interpetacje
w zamiezchlych czasach, gdy jeszcze nie bylo uP ani kompow do wyswietlania
uzywano wyswietlaczy numerycznych (pomijam juz lampy sterowane kodem 1z10)
do ktorych latwiej bylo sterowac wedlug kodu binarnego lub BCD (jako ze
system dziesietny to dla nas, a dla obliczen na paru TTL bramkach to tylko
2kowy jest sluszny).
jedna cyferka to 0-9 (lub 0-F jak szestnastkowo) czyli 16 kombinacji, i do
tego potrzeba bylo 4 bitow...
potem okazalo sie ze 2x4bity to mozna zapisac 0-99 dziesietnie, albo 0-FF
(0-255) szesnastkowo i to wystarcza do obliczen "cyfrowych" bez nadmiernej
komplikacji prostych ukladow (na poczatku TTL), a wynikalo to znow z ilosci
"komend" asemblera uwczesnych systemow, ktora dopiero w czasach
Atari/comodore chyba przekorczyla 300 rozkazow (ale tak naprawde to z
roznymi parametrami, wiec bylo ich mniej i na 8 bitach dalo sie wszystkie
upchnac, nastepne 8 bitow to byl parametr ew nastepny parametr)
a wcale nie jest tak ze bajt ma 8 bitow amen
sa kontrolery (mikrokontrolery? sterowniki? procki zintegrowane z wszystkim
co trzeba?) przemyslowe 4-bitowe, i wcale nie dzialaja z pol-bajtu tylko
taka precyzja im wystarcza - bo wiekszosc operacji robia "wlacz wylacz" - a
nie licza pierwiastka z dwoch....
ehh ide spac, bo juz bzdury gadam...
--
Bartlomiej Kuzniewski
si...@terror.org.pl http://terror.org.pl/~sibi/
tel 0-604-246371 GG#23319
Elektriko
A unicode to pies?
--
Marcin Lewandowski < m_l małpa op dot pl >
Kiedy wymyślono "bajt"?
Kiedy wymyślono "unicode"?
Pies był przed tymi oboma.
--
Pozdrówka,
Artur
Marcin Tworek wrote:
>
> [...]
> Bajt ma akurat 8 bitow bo na tylu bitach da sie zakodowac
> 256 roznych znakow np ASCII.
Znaków ASCII jest 127 i są one kodowane na siedmu bitach ;)
A ośmiobitowy bajt był naturalnym rozszerzeniem czterobitowego
"nibble". Pierwsze procesory były czterobitowe, dwukrotne posze-
rzenie szyny danych dało osiem bitów. Na procesory szesnasto-
bitowe już trzeba było trochę poczekać, a w tym czasie ugrunto-
wało się pojmowanie bajtu jako jednej z podstawowych miar pojem-
ności pamięci (bo w zasadzie do niczego innego się bajtu nie
stosuje teraz -- procesory pracują na słowach znacznie szerszych
od bajtu).
Co do samego słowa "byte": jest ono dość swobodnym skrótem od
"binary octet", co idealnie oddaje liczbę zawartych w nim
bitów :) To w zasadzie powinno zakończyć dyskusję.
--
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół | mailto:rso...@magsoft.com.pl |
| | http://www.grush.one.pl/ |
\................... ftp://ftp.grush.one.pl/ ............../
> Bajt sklada sie z 8 bitow ale tylko 7 jest wykorzystanych 8-y to
> bit parzystosci.
He he..... z takimi teoriami to szybko zbijesz fortunę jako autor
teorii spiskowych :)
Anyway, bajt ma 8 bitów. Zawsze miał i zawsze będzie miał. A to, co my
z tymi bitami zrobimy to już nasza sprawa. Jak będziemy chcięli, to i 4
można na kontrolę poprawności przeznaczyć.
A wracając do tematu, chyba jakoś tak się złożyło, że określenie bajt
powstało gdy popularność osiągały procesory 8 bitowe.
A 256 znaków ASCII jest dlatego, że bajt ma 8 bitów a nie na odwrót.
Trzeba też zauważyć, że na ten przykład ludzikom angielskojęzycznym
spokojnie wystarcza 7 bitów. Tylko nam i reszcie świata z robakami
przydaje się ostatni bit.
To w takim razie powiedz, co jest odpowiednikiem bajtu
w systemie dziesietnym?
Latet
bo przedrostek "kilo" oznacza tysiąc (w "normalnym" świecie, nie
informatycznym :) )
Pozdrawiam,
Morris
Nie ma potrzeby posiadania czegoś takiego.
--
[ http://www.stringi.com/viper/ ]
"Sami ze sobą jak dwie gwiazdy - Ty i ja!
Niech nam wino w ciałach gra.
Nasza jest cała ta noc!" -- De Mono
Hyhy ;)
To pomnóż sobie w systemie szesnastkowym 7x9 a potem 8x8. I wszystko
będziesz wiedział. Dodaj sobie także 7+9, 4+6 i 8+16 w systemie dwójkowym.
Jak dla Ciebie łatwiej jest na liczbach nie będących potęgą dwójki, to
Ci podpowiem, że komputerowi jest łatwiej na potęgach dwójki. A łatwiej
oznacza szybciej.
A o tym słowie to sobie poczytaj. Bo słowo to wielokrotność bajtu :)
Zmienne typu char w języku C zajmuje 4 bajty (tyle co int). Ktoś jednak
pomyślał zawczasu.
Marcin Lewandowski wrote:
>
> Zmienne typu char w języku C zajmuje 4 bajty (tyle co int). Ktoś jednak
> pomyślał zawczasu.
charsize.c:
int main()
{ printf("%i %i %i\n", sizeof(char), sizeof(short), sizeof(long)); return 0; }
C:\> gcc charsize.c -o charsize.exe -s
C:\> charsize
1 2 4
C:\>
Dalej jesteś pewien, że zajmuje cztery bajty? :)
To prawda, że wiele funkcji libc zwraca kody znaków jako int,
ale to wcale nie znaczy, że typ char jest równoważny typowi
int. Zresztą w byle FAQ dotyczącym C jest napisane, że typ char
odpowiada jednemu bajtowi pamięci (co innego wchar_t, który
w zależności od implementacji zajmuje 2 lub 4 bajty).
Cytat:
> C++ guarantees a char is exactly one byte, short is at least
> 2 bytes, int is at least 2 bytes, and long is at least 4 bytes.
> It also guarantees the unsigned version of each of these is
> the same size as the original, for example, sizeof(unsigned short)
> == sizeof(short).
To akurat dotyczy C++, ale ta sama zasada jest i w C jak widać.
O Tym słowie to już się naczytałem ( nie wiem czy tak dużo jak Ty ), ale
nadal nie widzę związku... Poczytaj sobie jak liczy procesor... Wisi mu to
czy na 8 bitach czy na 9 (stary IBM) czy na 16. To jest kwestia
architektury. Z tego też powodu czasem na 8 bitów bezbieczniej jest
powiedzieć "oktet" niż Bajt. Uzywanie systemu szesnastkowego w "celach
programistycznych" to konsekwencja tych 8 bitów.Używamy go, żeby Nam było
łatwiej, nie procesorowi. On i tak przelicza sobie na binarny :) Chyba, że
podasz mi napięcie odpowiadające B (11d) ;)
Pozdrawiam. Elektriko
Sprawdź ;P
>> A o tym słowie to sobie poczytaj. Bo słowo to wielokrotność bajtu :)
> O Tym słowie to już się naczytałem ( nie wiem czy tak dużo jak Ty ), ale
> nadal nie widzę związku...
Hyh :) Sam pokazywałes na zwiazek, czemu się sprzeciwiłem ;>
> Poczytaj sobie jak liczy procesor... Wisi mu to
> czy na 8 bitach czy na 9 (stary IBM) czy na 16. To jest kwestia
> architektury.
Jakoś tak wyszło, że najmniejsze adresowalne jednostki pamięci we
współczesnych komputerach są potęgami dwójki. Przypadek ? Może masz jakąś
spiskową teorię ?
> Z tego też powodu czasem na 8 bitów bezbieczniej jest
> powiedzieć "oktet" niż Bajt.
Nie, bajt oznacza 8 bitów.
> Uzywanie systemu szesnastkowego w "celach
> programistycznych" to konsekwencja tych 8 bitów.Używamy go, żeby Nam było
> łatwiej, nie procesorowi. On i tak przelicza sobie na binarny :)
Właśnie tu się mylisz. Chodzi o to, że niczego nie musi przeliczać.
> Chyba, że
> podasz mi napięcie odpowiadające B (11d) ;)
Hm.. no więc ruscy chcieli kiedyś zrobić procesor w systemie trójkowym.
Ty byś chciał w systemie szesnastkowym ? Chyba z 10Hz by musiał mieć
zegar ;P
--
--
[ http://www.stringi.com/viper/ ]
"Do których drzwi zapukać mam, by módz otworzyć je?
I czy za nimi odnajdę to co znaleźć chcę ?" -- Varius Manx
Teorii spiskowej tu żadnej nie ma, tylko efekty fizyczne. Okazało się
po prostu, że najprostszym system liczbowym, który można przetwarzać
elektronicznie jest system binary - a to akurat wynika z tego, że
tranzystor łatwo jest trakować jako 2-stanowy przełącznik. I łatwo
buduje się w oparciu o tranzystory układy przetwarzające dane w systemie
binarym. Systemy o wyższych podstawach są dużo bardziej skomplikowane w
obecnie dostępnych technologiach. Choć - być może - jak pojawią się
komputery kwantowe, to to się zmieni.
Inna sprawa, że (o ile dobrze pamiętam) system trójkowy byłby bardziej
efektywny od dwójkowego jeżeli chodzi przetwarzanie danych (gdzieś
kołacze mi się po głowie opracowanie, które kończyło się magiczną liczbą
"e" ~= 2.7, a trójka ma bliżej do 'e' niż dwójka).
Stąd obecność i obecna popularność systemu dwójkowego.
RobTM:)
--
** - Why a bike cannot stand up by itself?
** - Because it is two-tyred!
-- http://3226865153/~szczygie --
Nie mam akurat linuksa pod ręką, ale weź sprawdź kompilację zgodną z
ansi czy jakoś tak. Daję sobie ***[1] obciąć, że na samym początku w C
char był tyle co int. Zmienili to w C++ oraz w standardowych
ustawieniach gcc.
P.S. Chociaż bardzo możliwe, że już w gcc tego nie ma. Kiedyś było na pewno.
[1] chodzi oczywiście o podatki :-)
Gawel
To jest uzasadnienie dlaczego system w komputerze jest binarny,
a nie dlaczego bajt ma 8 bitow. A to czemu system jest binarny
to chyba oczywiste.
Moim zdaniem rozmowa wcle nie minela glownego nurtu.
W tym watku dokladnie zostala wyjsniona sprawa z tematu.
Pozdr,
Marcin Tworek
> Nie mam akurat linuksa pod ręką, ale weź sprawdź kompilację zgodną z
> ansi czy jakoś tak. Daję sobie ***[1] obciąć, że na samym początku w C
> char był tyle co int. Zmienili to w C++ oraz w standardowych
> ustawieniach gcc.
Wg. książki K&R "ANSI C" char ma pomieścić dowolny element zbioru znaków
danej instalacji. Opis <limits.h> specyfikuje że nie może to być mniej
niż 8 bitów. Stosowanie 16, czy 32 bitów wszędzie, gdzie znaki mają
reprezentacje 8-bitowe byłoby głupotą ze względu na marnowanie pamięci i
mogłoby powodować znaczne zmniejszenie prędkości wszelkich operacji na
tekście ze względu na ograniczone rozmiary cache procesora. W praktyce
nie widziałem jeszcze kompilatora, który pod zwykły char domyślnie brałby
więcej niż 1 bajt pamięci. Jedynie czasem się zdarza, że np. w
strukturach między char a double (lub cokolwiek innego dłuższego niż 1
bajt) zostawia sie parę bajtów miejsca, aby double zaczynał się od adresu
podzielnego przez 2, 4, 8, czy ile tam jest dobrze dla danego procesora
(aligning).
--
Pozdrówka,
Artur
Z ksiazki Briana Kernighana i Dennisa Ritchie (ci panowie "stworzyli"
jezyk C):
"char - jeden bajt, zdolny pomiescic jeden znak z lokalnego zestawu znakow"
Typ char oczywiscie zalezy od maszyny, jak pisza w tej ksiazce na
komputerze Honeywell 6000 mial 9 bitow, czyli nie byl bajtem.
A ansi to bylo duzo, duzo pozniej :)
Natomiast o ile pamietam wymagania sa takie:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
Czyli jest mozliwa sytuacja w ktorej char ma wielkosc inta, ale to ma sens
chyba tylko na komputerach 8 bitowych na ktorych, w dodatku, ktos nie zrobil
od razu inta 16 bitowego.
: P.S. Chociaż bardzo możliwe, że już w gcc tego nie ma. Kiedyś było na pewno.
Moze na jakas "specjalna" kompilacje gcc trafiles?
Wit
To moglbys mi wskazac to miejsce, bo cos nie moge go zlokalizowac.
Gawel
Wszystko IMHO, choć raczej się nie mylę, jako, że Chektor nigdy się nie
myli :)
> Gawel
--
Chektor
.Wojciech.Giersz .................. che...@malenstwo.iinf.polsl.gliwice.pl .
.125p: '69 1300 -- '85 1500 -- jeden '71 na oku -- http://fso.lotnisko.net/.
............." Jestem zegarem. Mam wskazowki od psychiatry. "...............
Marcin Lewandowski wrote:
>
> Nie mam akurat linuksa pod ręką, ale weź sprawdź kompilację zgodną z
> ansi czy jakoś tak. Daję sobie ***[1] obciąć, że na samym początku w C
> char był tyle co int. Zmienili to w C++ oraz w standardowych
> ustawieniach gcc.
Masz rację: na początku char był równy int. Ale int miał
wtedy jeden bajt i odpowiadał też shortowi! :)
O ile dobrze mi wiadomo char ma odpowiadać pojedynczemu znakowi
tekstowemu na danej maszynie. sizeof(char) _zawsze_ powinno
być równe 1, tylko rozmiar podstawowego słowa maszyny niekon-
iecznie musi być równy 8 b (IMHO w takim przypadku już trudno
mówić o bajcie, lepiej operować na słowach).
Absurdalne by było, gdyby tekst zapisany w tablicy char[128]
zajmował ponad 128 bajtów -- szczególnie na pececie, gdzie od
samego początku przyjmowano zasadę "jeden znak ASCII - jeden
bajt".