程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++位操作基本含義詳解

C++位操作基本含義詳解

編輯:C++入門知識

C++編程語言在開發人員眼中不僅僅是C語言的升級版本。其在功能上的擴展有更大的改進。我們今天就可以通過對C++位操作的基本概念的解析來充分掌握這方面的知識。並進一步加深對C++語言的了解程度。

  • C++賦值函數代碼詳解
  • C++變量聲明相關概念解析
  • C++實現WPF動畫具體操作方法詳解
  • C++中文字符相關應用方法詳解
  • C++虛構函數給我們帶來哪些好處

C++位操作包括兩種:傳統的C語言方式的位操作和C++中利用bitset容器的位操作

1.C++位操作基本操作:

使用一個unsigned int變量來作為位容器。

2.C++位操作操作符:

| 按位或操作符:result=exp1|exp2;當exp1和exp2中對應位中至少有一個為1時,result中對應位為1,否則為0。

& 按位與操作符::result=exp1&exp2;當exp1和exp2中對應位全為1時,result中對應位為1,否則為0。

^ 按位異或或操作符:result=exp1^exp2;當exp1和exp2中對應位不相同時,result中對應位為1,否則為0。

~ 反轉操作符:將位容器中的所有位都反轉,1變為0,0變為1。

<< 按位左移操作符:exp<<n,將容器中所有的位向左移n位,空出的位用0填充。

>> 按位右移操作符:exp>>n,將容器中所有的位向右移n位,空出的位用0填充。

|=,&=,^= 分別對應|&^三種操作符的復合操作符。

3.C++位操作常用操作

這裡我們假設有一個result的unsigned int變量用來儲存32個學生的成績通過和不通過分別用0和1),這樣result就有33位result從右至左,從0開始計算位數,在這個例子中0位被浪費)。

(a) 將第27位設置為及格設作1)其他位不變:

result|=(1<<27) //任意的位值與1作按位或操作其值為1,而與0作按位與操作其值不變

(b) 將第27位設置成不及格設為0)。

result&=~(1<<27) //任意的位值與0作按位與操作其值為0,而與1作按位與操作其值不變

(c) 反轉第27位的值。

result^=(1<<27) //任意的位值與1作按位異或操作其值為1,而與0作按位異與操作其值不變

以上就是對C++位操作的基本概念介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved