int가 -2^31 ~ 2^31-1이잖아
정확히 저기서 +중에 2^31-1 이상을 넘어갈 경우에만 체크하느 방법 없을까?
무대뽀로 2^31-1값 입력하는거 말고 방법없수?
if(val>INT32_MAX)
#define - Python
+1을 한 값이 더큰지 아닌지 체크하면 되지 않음 ?
int a; if(a+1>a) {한계아님} else {한계 넘음}
223.62님 그거 말고도 pow(2.0,31)-1로 해도 max는 구해지는데 그게 문제가 아니라 값을 입력받았던걸 int로 바꾸는거라 그래요 unsigned 기준으로는 체크하는 방법이 있을까요?
캐스팅할때 값이 달라져서 들어가는것때문에 그럽니다
-로 체크하면 되긴 되는데 unsigned 기준으로 체크하는 방법이 있을까 궁금해서
입력받는걸 기준으로 말하는거면 버퍼에 받고 잘라
그냥 31번째 비트값만 확인하면 되는거잖아
long long workspace = a; if(workdpace&0xFFFFFFFF00000000)
signed, unsigned 뭔상관이야
감사감사
내가 한 방법으로 할려면 casting 안해주면 알아서 확장 되넹. int a; if((int)(a+1)>a) {한계아님} else {한계 넘음}
그런데 32비트 명시 되어 있으니 비트 마스킹 때리면 땡이넹
if(val>INT32_MAX)
#define - Python
+1을 한 값이 더큰지 아닌지 체크하면 되지 않음 ?
int a; if(a+1>a) {한계아님} else {한계 넘음}
223.62님 그거 말고도 pow(2.0,31)-1로 해도 max는 구해지는데 그게 문제가 아니라 값을 입력받았던걸 int로 바꾸는거라 그래요 unsigned 기준으로는 체크하는 방법이 있을까요?
캐스팅할때 값이 달라져서 들어가는것때문에 그럽니다
-로 체크하면 되긴 되는데 unsigned 기준으로 체크하는 방법이 있을까 궁금해서
입력받는걸 기준으로 말하는거면 버퍼에 받고 잘라
그냥 31번째 비트값만 확인하면 되는거잖아
long long workspace = a; if(workdpace&0xFFFFFFFF00000000)
signed, unsigned 뭔상관이야
감사감사
내가 한 방법으로 할려면 casting 안해주면 알아서 확장 되넹. int a; if((int)(a+1)>a) {한계아님} else {한계 넘음}
그런데 32비트 명시 되어 있으니 비트 마스킹 때리면 땡이넹