"verschlüsselung" unter c - Seite 2

Seite 2 von 3 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/quotverschluesselungquot_unter_c_37693/page_2 - zur Vollversion wechseln!


Oculus schrieb am 12.06.2002 um 08:55

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 schrieb am 12.06.2002 um 09:01

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 schrieb am 12.06.2002 um 10:05

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 schrieb am 12.06.2002 um 12:26

Zitat von HaBa
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 - :eek: gott bewahre :eek: - dich verbessern, sondern lediglich auf die frage vom that näher eingehen (wegen byte=8 bit, integer)


Vir@s schrieb am 12.06.2002 um 13:03

Zitat von that
cool, ich dachte immer ein Byte hat auf heutigen Maschinen 8 Bit, auch bei int...
:o :p

*lol*

Ja okay stimmt war ned korrekt - richtig is natürlich des sich die Anzahl der Bytes ändert :)


that schrieb am 12.06.2002 um 18:10

Zitat von xdfk
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 schrieb am 12.06.2002 um 18:33

Zitat von that
stimmt, und sizeof(char) ist IMMER 1.

naja, ausser du hast unicode-zeichen, die wären 2byte gross :rolleyes:
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 schrieb am 12.06.2002 um 18:36

@mop|simgon : ich dachte word= 0-65000 und integer = -32000 - +32000


that schrieb am 12.06.2002 um 19:11

Zitat von mop|simon
naja, ausser du hast unicode-zeichen, die wären 2byte gross :rolleyes:
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 schrieb am 12.06.2002 um 19:20

Zitat von Luki
@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.


Oculus schrieb am 12.06.2002 um 19:26

Zitat von Luki
@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 schrieb am 12.06.2002 um 19:28

Zitat von xdfk
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 schrieb am 12.06.2002 um 19:31

Zitat von that
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 schrieb am 12.06.2002 um 19:34

die bezeichnungen waren aus borland pascal alias turbo pascal - also eine hochsprache älterer tage ;) (waren 16bit umgebungen)


xdfk schrieb am 12.06.2002 um 19:35

@luki kann sein meine pascal tage sind schon lang vorbei ;)

ich fang auch grad wieder erst zum coden an....




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025