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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型

發布時間:2025/3/21 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 提取 bitset 的值

函數返回一個值,保存了與bitset 對象相同的位模式。

  • to_ulong() // 返回unsigned long
  • to_ullong() //返回unsigned long long

只有當bitset 的大小小于等于對應的大小時, 我們才能使用這兩個操作(如果bitset中的值不能放入給定類型中,則這兩個操作會拋出一個overflow error異常)

unsigned long ulong = bitvec3.to_ulong( ); cout ? "ulong = " ? ulong << endl;

2. bitset 的 IO 運算符

輸入運算符從一個輸入流讀取字符, 保存到一個臨時的 string 對象中。 直到讀取的字符數達到對應 bitset 的大小時, 或是遇到不是 1 或 0 的字符時, 或是遇到文件尾或輸入錯誤時, 讀取過程才停止。 隨即用臨時 string 對象來初始化 bitset 。如果讀取的字符數小于bitset 的大小, 則與往常一樣, 高位將被置為 0。

輸出運算符打印一個 bitset 對象中的位模式:

bitset<16> bits; cin ? bits; // 從 cin 讀取最多 16 個 0 或 1 cout ? "bits: " ? bits << endl; // 打岡1岡讀取的內容

3. 使用 bitset

用bitset代替 unsigned long 表示 30 個學生的測驗結果—“ 通過/失畋”:

bool status; // 使用位運算符的版本 unsigned long quizA = 0; // 此值被當做位集合使用 quizA |= 1UL << 27; // 指出第 27 個學生通過了測驗 status = quizA & (1UL << 27); // 檢查第 27 個學生是否ton過了測驗 quizA &= ~(1UL << 27); // 第 27 個學生未通過測驗// 使用標準庫類 bitset 完成等價的工作 bitset<30> quizB; // 每個學生分配一位,所有為都被初始化為 0 quizB.set(27); // 指出第 27 個學生通過了測驗 status = quizB[27]; // 檢查第 27 個學生是否通過了測驗 quizB.reset(27); // 第 27 個學生未通過測驗

總結

以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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