引用 | 編輯
sakashan
2006-04-16 15:46 |
樓主
▼ |
||
x0
9. short int a = 39,b = 29; cout << (a<<2) <<"\n"; //___156____ cout << ~a <<"\n"; //___-40____ cout << ~(a ^ b) <<"\n"; //___-59____ a=31000;b=23001;a+=b;cout<<a<<”\n”; //__-11535_____ a=-32768;a-=1;cout <<a << endl; //__32767_____ 11. int a=5; cout << a .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
dxman
2006-04-18 12:43 |
3樓
▲ |
剛剛看了一下..大概知道一些..小弟剛學不是很懂..
有不對的地方請多多指導~~ 9. short int a = 39,b = 29; //將a,b定義為short int的資料型態..範圍-32768~32767 cout << (a<<2) <<"\n"; //將a=39左移兩各位元(00100111==>10011100) cout << ~a <<"\n"; //將a作補數運算.. ~39 = -40.. ~0 = -1 cout << ~(a ^ b) <<"\n"; //a^b==>將a跟b作XOR運算{00100111(39) XOR 00011101(29)} // =00111010(58) 再作補數運算 ~58 = -59 a=31000;b=23001;a+=b;cout<<a<<”\n”; //32767+1=-32768...因為超出short int定義的範圍 //所以a+b會變成54001==>-11535 a=-32768;a-=1;cout <<a << endl; //這各就跟上一各同意思 -32768+1=32767 x0 |