이상한 문제가 있습니다. 10 진수에서 2 진수로 변환하는 간단한 함수를 만들었습니다. 인수는 십진수의 숫자를 나타내는 int 값이고 함수는 이진수를 나타내는 비트 세트를 반환합니다.10 진수에서 2 진수로 변환하고 비트 세트를 반환 할 때의 문제
문제는 10000000000000000000000000000000 (10 진수 2,147,483,648)보다 작은 이진수의 변환이 완벽하게 작동하지만 변환 할 숫자가 더 높을 경우 변환이 제대로 작동하지 않는다는 것입니다. 실수는 어디 있습니까 ??? 여기
나는 당신에게 기능을 보내
bitset<15000> Utilities::getDecToBin(int dec)
{
bitset<15000> columnID;
int x;
for(x=0;x<columnID.size();x++)
{
columnID[x]=dec%2;
dec=dec/2;
}
return columnID;
}
감사를 사전에 모든 도움을! : D
산술 연산 대신 논리 연산자를 사용하는 것이 더 좋습니다.'columnID [x] = dec & 1; dec >> = 1;' –