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] 민머리요정2196 13/02/25 2196
161198 마인크래프트 정품 질문입니다. 엔비1996 13/02/25 1996
161197 엑셀 콤보박스 사용관련 질문입니다. [2] 메모박스3008 13/02/25 3008
161196 [정보추가]서울에 2일정도 묵을만한 숙소 추천부탁드려요(가족) [3] 바닥인생1653 13/02/25 1653
161195 갤노트 젤리빈 업글하면 속도가 느려지나요? [4] 시오리2297 13/02/25 2297
161193 이런 니트는 어디서 사야할까요....사진有 [4] 라리2580 13/02/25 2580
161192 필수과목 학점포기가 가능한가요? [5] 네모콜라2102 13/02/25 2102
161191 c언어 고수분들 질문드립니다^^; [4] Abelian Group1765 13/02/25 1765
161190 유게 10억vs먹기보고 생각났는데, 자신이 제일 많이 먹어본적은? [21] legend2389 13/02/25 2389
161189 이사를 한 후부터 토렌트가 되질 않습니다. 원인이 무엇일까요? [3] Gakky2888 13/02/25 2888
161188 키움증권 영웅문 질문입니다. [1] WestSide2498 13/02/25 2498
161187 대용량 mp3 선택지가 너무 적음! [7] 커트의가디건3366 13/02/25 3366
161186 2012년 최고의 유행어는 무엇일까요? [15] Tad2895 13/02/25 2895
161185 지난주 월요일 18일날 강남 삼성 딜라아트샵 가셨던분~ 감자해커1638 13/02/25 1638
161184 세이코 시계좀 봐주시겠어요? [3] 국카스텐1746 13/02/25 1746
161183 발더스게이트EE 아이패드버전 플레이 해보신 분 계신가요? [2] Neuschwanstein3499 13/02/25 3499
161182 [LOL] 앨리스 갱 면역이라고 부를만큼 갱 피하기 좋은가요? [7] Dixit3165 13/02/25 3165
161181 피씨 전원이 가끔 꺼집니다. . [9] 곰동생1815 13/02/25 1815
161180 영웅전설 시리즈 질문입니다. [6] 베컴1774 13/02/25 1774
161179 lol 이겼는데 점수가 떨어졌습니다 [5] 정공법3192 13/02/25 3192
161176 LOL 랭크 단계 질문 [4] 배려2239 13/02/25 2239
161175 전세 대출에 관해서 질문드립니다. [3] SuiteMan1701 13/02/25 1701
161174 허리 디스크인 것일까요? [10] 감정과잉1832 13/02/25 1832
목록 이전 다음
댓글

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