Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2719] Re:sizeof(c + c)??
임문환.실업자 [] 1196 읽음    2003-05-28 13:27
0.
기본형 간의 자료 연산 시 해당하는 자료의 형이 int 형보다 작다면 해당 자료는 int 형으로 변환된 후 연산이 수행 됩니다
char c1=100;
char c2=110;
char c3=120;
int i=c1+c2+c3;
//연산 결과 i의 값은 330
//만약 int 형으로 형변환되지 않고 연산이 수행된다면 연산 결과 i 값은 74(100+110=>-46, -46+120=>74)

우변항에서 연산하는 것과 그 결과를 좌변항에 대입하는 것은 다른 얘기입니다.
만약, char c4=c1+c2+c3;을 하게 되면 c4의 값은 74입니다.
우변항인 c1+c2+c3 연산의 결과는 330인데 이를 char 형 변수에 저장하게 되면 LSB 쪽의 sizeof(char) 바이트에 있는 값만 c4에 저장되는 것입니다.
c4=(char)i; 와 같은 결과입니다.
참고로 위의 i 변수의 비트 값은: 00000000  00000000 00000001 01001010
------------------------------MSB----------------------LSB---

1.
double pow(double x, double y);
이 연산의 결과가 double 형에 저장할 수 있는 크기를 초과하는 숫자라면 오버플로우가 발생하고
HUGE_VAL이 반환되며 전역변수인 errno의 값이 ERANGE로 설정됩니다(아마도 오류 메시지가 뜨겠죠).

2.
Infinity는 '무한'을 뜻하는 것 아닙니까?

3.
int abs(int x);
double fabs(double x);
위에 있는 함수의 원형과 도움말을 보면 알 수 있지 않나요?


kevin 님이 쓰신 글 :
: #include <stdio.h>
:
: void  main(void)
: {
: char c = 'A';
: printf("sizeof(c)         = %u\n", sizeof(c));
: printf("sizeof('A')           = %u\n", sizeof('A'));
: printf("sizeof(c + c)         = %u\n", sizeof(c + c));
: printf("sizeof(c = 'A')    = %u\n", sizeof(c = 'A'));
: }
:
:
: 어찌하여 sizeof(c + c));  이 4가 나올까요?(컴파일 visual studio 6.0)
:

:

:
: 한가지 더..
:

:
: pow(x,x)를 호출할때 x의 값이 너무 크면 실행시간 오류가 발생되거나, pow(x,x) 값을 printf()로 출력할 경우 Inf 또는 Infinity가 출력된다. 라고 책에 나와있는데요..
:

:
: 1. 왜 실행시간 오류가 납니까?
:

:
: 2. Int, Infinity가 뭡니까?
:

:
: 또 한가지 더...--;
:

:
: #include <stdio.h> 
: #include <stdlib.h>
: #include <math.h>
:
: int main(void) 
: { 
:  double x = -2.357;
:     printf(" abs(x) = %e\n", abs(x));
:  printf("fabs(x) = %e\n", fabs(x));
:
:  return 0;
: }
:
:
: abs()랑 fabs()의 차이점이 무엇인가요? lib.h파일에 있는 abs()도 절대값 구하는거 아닌가요?
:

:

+ -

관련 글 리스트
2712 sizeof(c + c)?? kevin 1198 2003/05/28
2719     Re:sizeof(c + c)?? 임문환.실업자 1196 2003/05/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.