日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

赋值运算与位运算

發布時間:2025/6/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 赋值运算与位运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

求下面程序結果:

來自<<程序員面試寶典>>

?

#include<iostream> using namespace std;int main() {int x=2,y,z;x*=(y=z=5);cout<<x<<endl;x==(y=z);cout<<x<<endl;x=(y==z);cout<<x<<endl;x=(y&z);cout<<x<<endl;x=(y&&z);cout<<x<<endl;y=4;x=(y|z);cout<<x<<endl;x=(y||z);cout<<x<<endl;return 0; }

?

打印結果:10 10 1 3 1 7 1?

?

很簡單,但容易出錯。下面來說明一下:

x*=(y=z=5)是把5賦值給y和z,然后就成了x*=5。

x==(y=z)是把z賦值給y,看x與y值是否全等于。但這并不影響x的值,因為這個等式的返回值并沒有賦值

給x。

x=(y==z)是把(y==z)這個式子的返回值賦值給x。

x=(y&z)是把(y&z)的值賦值給x,單個&表示按位&,是用來操作二進制數的。與&&效果一樣,只是&&一般的操作對象是十進制(或其他)。y:0011 ,z:0011。按位&操作后為0011.

x=(y&&z)只要y,z都大于等于1,(y&&z)就為1

x=(y|z),|是按位或,也是用來操作二進制的,與||一樣,只是||一般用來操作十進制(或其他),效果一樣,只要一個為真就為真。y:0100 , z:0011 ,操作后為0111.

x=(y||z)略

?

?

^:按位異或,若兩個二進制相同則為0,不同則為1

~:按位取反,0變1,1變0。存在關系式~x+1=-x

?

#include<iostream> using namespace std;int main() {//~x+1=-xint a=1,b;b=~a;cout<<b<<endl;int c=2;b=a^c;cout<<b<<endl;return 0; }

a:0001 ? ?b:0010 ? ? 按位異或結果:0011
?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的赋值运算与位运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。