ENDIANS 문제 질문드립니다. cocoslime #include <iostream> #include <string> #include <math.h> using namespace std; unsigned int convert(unsigned int pint); int main(){ int num; cin >> num; while (num--){ unsigned int temp; cin >> temp; cout << convert(temp) << endl; } system("pause"); } unsigned int convert(unsigned int pint){ int temp1 = pint / (int)pow(2.0,24.0); int temp2 = (pint % (int)pow(2.0, 24.0)) / (int)pow(2.0, 16.0); int temp3 = (pint % (int)pow(2.0, 16.0)) / (int)pow(2.0, 8.0); int temp4 = pint % (int)pow(2.0,8.0); return temp1 + temp2*(int)pow(2.0, 8.0) + temp3*(int)pow(2.0, 16.0) + temp4*(int)pow(2.0, 24.0); } ENDIANS 예제와 똑같이 출력이 나오는데도 오류라고 나오네요 입출력문제인가요? 9년 전
1개의 댓글이 있습니다. kcm1700 C/C++에서 signed int에서 integer under/overflow는 undefined behavior가 됩니다. 범위를 넘어가지 않게 unsigned int 또는 long long이나 uint64_t 등으로 연산해주세요. 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
cocoslime
ENDIANS
예제와 똑같이 출력이 나오는데도 오류라고 나오네요
입출력문제인가요?
9년 전