저는 기계 시뮬레이션 프로그램을 만들고 있습니다. 주 메모리에 대한 비트 세트 벡터를 가지고 있으므로 특정 "단어"에 액세스하기 위해이 벡터, pMemory-> at (i)에 대한 포인터를 사용할 수 있습니다. 나는 정말로 비트 - 오브 - 비트 세트 디자인을 선호한다. 그리고 나는 그것에 충실 할 것이다 (이 프로그램은 약 6 시간 안에 끝날 것이다, eek!)비트 셋 조작에 권장되는 방법은 무엇입니까?
나는 알아 내려고 노력하는 데 어려움을 겪어왔다. 다른 위치 (시뮬레이션 된 레지스터 및 기타 메모리 위치 등)에서 비트 세트를 가져 오는 방법, 그래서 스트림을 사용하여 일부를 읽었습니다. 나는 이것으로 생각해 냈다.
#include <bitset>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
/** demonstrating use of stringstream to/from bitset **/
{
bitset<12> sourceBits(std::string("011010010100"));
bitset<12> targetBits(0);
stringstream iBits(stringstream::in | stringstream::out);
iBits << sourceBits.to_string();
cout << targetBits << endl;
iBits >> targetBits;
cout << targetBits << endl;
} //end stringstream to/from bitset
return 0;
}
그래서이 방법은 내 프로그램에 맞게 적용 할 수있다.
제 질문은 이것이 좋은 생각입니까? 비트셋을 사용하는 것에 대해 근본적인 무언가가 있습니까 >> 및 < < 연산자는 무엇입니까? 이 모든 매뉴얼을 다룰 필요가 실제로 있습니까?
또한, 12 비트 비트 세트를 16 비트 비트 세트로 복사 할 때 나는 무엇을해야합니까?
고맙습니다. 이것은 많이 검색 후이 커뮤니티에 내 첫 질문입니다. 모두의 통찰력에 감사드립니다!
1. –