程序:与位工作
typedef bitset<8> bits;
char original = 0xF0F0F0F0;
char Mask = 0xFFFF0000;
char newBits = 0x0000AAAA;
/*& operation with "0bit set 0" & "1bit give no change to original byte" */
cout<<"Original o: "<<bits(original)<<endl;
cout<<"NewBits: "<<bits(newBits)<<endl;
cout<<"Mask m: "<<bits(Mask)<<endl;
cout<<"o & m with Mask: "<<bits(original & Mask)<<endl;/*0 set original bit as 0 */
结果:
原稿O:11110000个
NewBits:10101010
掩模M:00000000
ö&米与面膜: 00000000
结果10101010
我明白六角&其结果..但....... o & m
== 0000 0000
所以bits(o & m | newBits)
结果应该是0000 0000
,不1010 1010
......
我在哪里失踪概念...
谁能帮我请...
期待了良好的反响
谢谢
'char original = 0xF0F0F0F0;'?真?给真正的代码怎么样? – ildjarn 2011-04-13 07:36:34