ein bit in eine datei schreiben?
-
so, ich hab mir jetzt den eignen stream gebastelt.
es funktioniert nur nicht,den fehler hab ich auch schon eingekreist.
Die bitmanipulation klappt nich, und ich würd gerne wissen, was ich falsch gemacht hab:beispielcode
unsigned int x=0; for(int i=16;i>0;--i){ x=x|(1<<i);//das ite bit 1 setzen } cout<<x;
am ende sollte da im int wert 1111111111111111 stehen-tuts aber nich^^
-
probiers mal so:
unsigned int x=0; for(int i=15;i>=0;--i){ x=x|(1<<i);//das ite bit 1 setzen }
bzw. ich würde es so machen:
unsigned int x=0; for(int i=0;i<16;++i) { x=x|(1<<i);//das ite bit 1 setzen }
-
nein, es wird nur das letzte bit gesetzt^^
//edit und genau deshalb hasse ich bitmanipulationen^^
-
Also mir liefert folgendes Programm 65535 als Ausgabe...
#include <iostream> using namespace std; int main() { unsigned int x=0; for(int i=0;i<16;++i){ x=x|(1<<i);//das ite bit 1 setzen } cout<<x<<'\n'; }
-
2^16=?
//edit ja hab mich mit dem begriff vertan, natürlich wird bei mir nur das erste bit gesetzt, die andren 15 bleiben 0^^
-
otze schrieb:
2^16=?
65536
Passt dochMan beachte: 0-65535 sind 65536 verschiedene Werte
-
klar, aber der integer wert ist 216+215+214....+21
-
otze schrieb:
klar, aber der integer wert ist 216+215+214....+21
Keine Ahnung was du meinst, aber 65535 sind binär
1111 1111 1111 1111Kannst ja nachrechnen, wenn du willst.
-
arrgh vergessen, dass bei 2^0 gestartet wird,dann is das natürlich korrekt Kopf->Wand
//edit wieso kam eigentlich bei mir grad ein wert von 84000 und mehr als ergebnis raus?
-
otze schrieb:
klar, aber der integer wert ist 216+215+214....+21
Das stimmt nicht ganz, man sagt:
2^16 = 2^15 + 2^14 ... 2^0
Somit ist das 2^16+ am Anfang deiner Summe zu viel.
MfG mAV
-
Hallo,
Mis2com schrieb:
Das stimmt nicht ganz, man sagt:
2^16 = 2^15 + 2^14 ... 2^0
sorry, das stimmt auch nicht, vielmehr gilt:
216 = 215 + 214 ... + 20 + 1
MfG
-
kennt ihr eigentlich den |= operator?
-
Probe-Nutzer schrieb:
Hallo,
Mis2com schrieb:
Das stimmt nicht ganz, man sagt:
2^16 = 2^15 + 2^14 ... 2^0
sorry, das stimmt auch nicht, vielmehr gilt:
216 = 215 + 214 ... + 20 + 1
MfG
20=1
@held nein den kenn ich nich
-
otze schrieb:
20=1
beachte:
20 = 1 = 0 + 1
21 = 2 = 20 + 1
22 = 4 = 21 + 20 + 1