ein bit in eine datei schreiben?
-
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