PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2013/02/25 15:54:12
Name Abelian Group
Subject c언어 고수분들 질문드립니다^^;

typedef unsigned int u32;
typedef unsigned long long int u64;


int main(void)
{
        u32 m, log_t, s, log_N;
        u64 N, t;
        double f;

        m=1024;
        log_t=10;
        s=32;
        log_N=35;


        t=1 << log_t;
        N=1 << log_N;


        f=(double) (m*t*t*s/N);

        printf("%f \n", f);




        return 0;
}




f가 1이 나와야 하는데, 4294967296.000000 이 나오네요....

자료형 때문인 것 같은데 뭐가 잘못 된지 모르겠습니다.

f가 1이 나올수 있도록 하려면 어떻게 해야 하나요?



통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
우소미
13/02/25 15:59
수정 아이콘
t=1 << log_t;
N=1 << log_N;

이 부분에서 연산 우선 순위상 1 << log_t 가 먼저 계산 되기 때문에 그렇습니다.
아래와 같이하면 됩니다.

t = 1;
N = 1;
t <<= log_t;
N <<= log_N;
꿀호떡a
13/02/25 15:59
수정 아이콘
N=1 << log_N; 이 부분이 문제입니다. 결국 1 << log_N을 계산한 후에 N에 집어넣어라, 인데 1도 32bit integer, log_N도 32bit integer이므로 N이 64bit integer라고 하더라도 type casting이 일어나기 전에 이미 overflow가 되어버리죠.

해결책은 1LL << log_N 이렇게 하시면 1이 64bit integer가 되기 때문에 casting이 잘 일어납니다.
꿀호떡a
13/02/25 16:03
수정 아이콘
쉽게 생각해서, double f = 3 / 2; 했을 때 f에 1.5가 아니라 1이 담기는 이유를 생각해보시면 됩니다.
Abelian Group
13/02/25 16:48
수정 아이콘
앗 모두들 정말 감사합니다^^
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
161199 병점에서 신길까지 급행열차 소요시간이 얼마나 되나요? [2] 민머리요정2217 13/02/25 2217
161198 마인크래프트 정품 질문입니다. 엔비2015 13/02/25 2015
161197 엑셀 콤보박스 사용관련 질문입니다. [2] 메모박스3029 13/02/25 3029
161196 [정보추가]서울에 2일정도 묵을만한 숙소 추천부탁드려요(가족) [3] 바닥인생1673 13/02/25 1673
161195 갤노트 젤리빈 업글하면 속도가 느려지나요? [4] 시오리2314 13/02/25 2314
161193 이런 니트는 어디서 사야할까요....사진有 [4] 라리2598 13/02/25 2598
161192 필수과목 학점포기가 가능한가요? [5] 네모콜라2119 13/02/25 2119
161191 c언어 고수분들 질문드립니다^^; [4] Abelian Group1786 13/02/25 1786
161190 유게 10억vs먹기보고 생각났는데, 자신이 제일 많이 먹어본적은? [21] legend2410 13/02/25 2410
161189 이사를 한 후부터 토렌트가 되질 않습니다. 원인이 무엇일까요? [3] Gakky2907 13/02/25 2907
161188 키움증권 영웅문 질문입니다. [1] WestSide2518 13/02/25 2518
161187 대용량 mp3 선택지가 너무 적음! [7] 커트의가디건3387 13/02/25 3387
161186 2012년 최고의 유행어는 무엇일까요? [15] Tad2913 13/02/25 2913
161185 지난주 월요일 18일날 강남 삼성 딜라아트샵 가셨던분~ 감자해커1668 13/02/25 1668
161184 세이코 시계좀 봐주시겠어요? [3] 국카스텐1771 13/02/25 1771
161183 발더스게이트EE 아이패드버전 플레이 해보신 분 계신가요? [2] Neuschwanstein3531 13/02/25 3531
161182 [LOL] 앨리스 갱 면역이라고 부를만큼 갱 피하기 좋은가요? [7] Dixit3199 13/02/25 3199
161181 피씨 전원이 가끔 꺼집니다. . [9] 곰동생1841 13/02/25 1841
161180 영웅전설 시리즈 질문입니다. [6] 베컴1800 13/02/25 1800
161179 lol 이겼는데 점수가 떨어졌습니다 [5] 정공법3220 13/02/25 3220
161176 LOL 랭크 단계 질문 [4] 배려2268 13/02/25 2268
161175 전세 대출에 관해서 질문드립니다. [3] SuiteMan1728 13/02/25 1728
161174 허리 디스크인 것일까요? [10] 감정과잉1862 13/02/25 1862
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로