【超高速】C/C++に代わる低級言語を開発したい 8 (364レス)
【超高速】C/C++に代わる低級言語を開発したい 8 http://mevius.5ch.net/test/read.cgi/tech/1345730580/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
327: デフォルトの名無しさん [sage] 2025/03/24(月) 13:15:17.83 ID:a0wY9RFf >>326 https://docs.rs/bit-vec/ がいいかな use bit_vec::BitVec; fn main() { // 32bit全てfalseで作成 let mut bv = BitVec::from_elem(32, false); // 7bitおきにtrueセット for index in (0..32).step_by(7) { bv.set(index, true); } // 0, 7, 14 , 21, 28番目のbitがtrueになった assert_eq!(bv.get(0), Some(true)); assert_eq!(bv.get(1), Some(false)); assert_eq!(bv.get(7), Some(true)); assert_eq!(bv.get(28), Some(true)); // イテレータでtrueになってる位置のリスト let v = bv.iter().enumerate().filter_map(|(i, bit)| bit.then_some(i)).collect::<Vec<_>>(); assert_eq!(v, [0, 7, 14, 21, 28]); // 内部構造は標準でVec<u32>を使っているのでu32が1つ分 assert_eq!(bv.storage(), [0b_10000001000000100000010000001]); // バイト列にすると4バイト assert_eq!(bv.to_bytes().len(), 4); assert_eq!(bv.to_bytes(), [0b_10000001, 0b_00000010, 0b_00000100, 0b_00001000]); } http://mevius.5ch.net/test/read.cgi/tech/1345730580/327
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s