"verschlüsselung" unter c
Duron 11.06.2002 - 22:28 2223 31
Oculus
void
|
tjo, 1 byte is schon 8 bit ABER früher im dos war des gute alte integer no 16bit -> -65534 - 65535
aber ab winNT bzw. win95 haben sich ja die 32-bit OS verbreitet da hast 32bit integer
und mit den neueren versionen der C++ compiler stehen dir auch datentypen wie int64 zur verfügung
natürlich sind die anderen datentypen wie double, long, etc. auch grösser geworden
|
HaBa
VereinsmitgliedDr. Funkenstein
|
Is schon klar, aber in dem Zahlenbereich in dem sich die Chars abspielen ist es "Stecka/Blunzn" ob ich da 64bit habe oder nicht
Meine "Lösung" macht ja auch nichts anderes als das vom xdfk, nur gehe ich halt große Umwege.
Die erste Lösung vom xdfk ist wohl die beste.
|
xdfk
pädagogisch wertvoll
|
danke danke  die länge eines integers hängt immer von der plattform ab habts schon recht dafür wurde aber auch der sizeof befehl erfunden.
|
Oculus
void
|
Is schon klar, aber in dem Zahlenbereich in dem sich die Chars abspielen ist es "Stecka/Blunzn" ob ich da 64bit habe oder nicht
Meine "Lösung" macht ja auch nichts anderes als das vom xdfk, nur gehe ich halt große Umwege.
Die erste Lösung vom xdfk ist wohl die beste. ich wollte doch nicht -  gott bewahre  - dich verbessern, sondern lediglich auf die frage vom that näher eingehen (wegen byte=8 bit, integer)
|
Vir@s
Code Monkey
|
cool, ich dachte immer ein Byte hat auf heutigen Maschinen 8 Bit, auch bei int...
 *lol* Ja okay stimmt war ned korrekt - richtig is natürlich des sich die Anzahl der Bytes ändert
|
that
Hoffnungsloser Optimist
|
danke danke 
die länge eines integers hängt immer von der plattform ab habts schon recht dafür wurde aber auch der sizeof befehl erfunden.  stimmt, und sizeof(char) ist IMMER 1.
|
Oculus
void
|
stimmt, und sizeof(char) ist IMMER 1. naja, ausser du hast unicode-zeichen, die wären 2byte gross in c wär des aber dann nimma char sondern WCHAR (glaub ich, weiss net genauen namen) in java sind char's standardmäßig unicode
|
Luki
UNDER CONSTRUCTION
|
@mop|simgon : ich dachte word= 0-65000 und integer = -32000 - +32000
|
that
Hoffnungsloser Optimist
|
naja, ausser du hast unicode-zeichen, die wären 2byte gross in c wär des aber dann nimma char sondern WCHAR (glaub ich, weiss net genauen namen)
in java sind char's standardmäßig unicode wchar_t ist das in C++.
|
xdfk
pädagogisch wertvoll
|
@mop|simgon : ich dachte word= 0-65000 und integer = -32000 - +32000 auf 16 bit maschinen: signed integer = -32000 bis +32000 unsigned integer = 0 bis 65k signed= 1 bit für vorzeichen reserviert unsigned kein bit für VZ reserviert wobei auch int nicht auf allen maschinen gleich sein muss kann variieren pseudo standard ist jedoch 32 bit immer aufpassen und im notfall den sizeof operator verwenden.
Bearbeitet von xdfk am 12.06.2002, 19:32
|
Oculus
void
|
@mop|simgon : ich dachte word= 0-65000 und integer = -32000 - +32000 1 word war früher 2 byte wie's jetzt ausschaut kann i gar net sagen aber es gibt immer 2 arten von datentypen signed und unsigned signed: vorzeichenbehaftet; d.h. das vorderste bit ist das vorzeichen-bit. deswegen von -2^15 (1xx..x) bis +2(0xxx...x)^15 15 deswegen, weil ja 1 bit fehlt unsigned: ohne vorzeichen. also von 0 bis zb 2^16
|
that
Hoffnungsloser Optimist
|
wobei auch int nicht auf allen maschinen gleich sein muss kann variieren pseudo standard ist jedoch 16 bit Wir schreiben das Jahr 2002, und "Standard" für int ist auf heutigen Maschinen 32 Bit... Garantiert ist bei C/C++ leider gar nix, außer: char = ein Zeichen des Charactersets = 1 Byte (meistens 8 Bit, allerdings "implementation-defined", es gibt einige exotische alte Maschinen mit 9-Bit-Bytes). und (AFAIR): sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
|
xdfk
pädagogisch wertvoll
|
Wir schreiben das Jahr 2002, und "Standard" für int ist auf heutigen Maschinen 32 Bit...
Garantiert ist bei C/C++ leider gar nix, außer:
char = ein Zeichen des Charactersets = 1 Byte (meistens 8 Bit, allerdings "implementation-defined", es gibt einige exotische alte Maschinen mit 9-Bit-Bytes).
und (AFAIR):
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) stimmt int is 32 bit mein fehler pascal& dos waren noch 16 bit  wie gesagt hängt immer von der umgebung ab usw. auf den neuen 64 bit cpus wird int auch 64 bit lang sein......
|
Luki
UNDER CONSTRUCTION
|
die bezeichnungen waren aus borland pascal alias turbo pascal - also eine hochsprache älterer tage  (waren 16bit umgebungen)
|
xdfk
pädagogisch wertvoll
|
@luki kann sein meine pascal tage sind schon lang vorbei  ich fang auch grad wieder erst zum coden an....
|