3.13(화) float와 __int64

from Study/C언어 2007/03/13 18:21 view 22048
VC++6.0 컴파일러가 지원하는 자료형중에 __int64라는 게 있다. 뭔지 한번 살펴봤더니.

The types __int8, __int16, and __int32 are synonyms for the ANSI types that have the same size, and are useful for writing portable code that behaves identically across multiple platforms. Note that the __int8 data type is synonymous with type char, __int16 is synonymous with type short, and __int32 is synonymous with type int. The __int64 type has no ANSI equivalent.

표준규격은 아니란다. 그럼 왜 만들어놨을까..

int형으로 표현할수 있는  정수는 42억정도까지 있다. 근데 이보다 더 큰 수를 쓰고 싶다면

어쩔수 없이 float형을 사용하여 표현 할 수 있는데 이는 처리속도에 지장을 준다.

CPU는 쓸모 없는 소숫점이하의 수를 연산하게 되는 것이다. 이를 위해 __int64라는 자료형이

생겼다고 하는데 효율성이 얼마나 좋을지는... 이런거 테스트해보는 구문이 있었는데

나중에 생각나면 한번 해봐야 하지 않을까..

예전에 두수를 연산할때 되도록 '/'연산자를 쓰면 몇번의 연산을 더 필요로 하기 때문에

다른 방법으로 하느것이 프로그램의 동작속도를 빠르게 한다고 했었는데 그거와 비슷한 것
 
같다. Shift연산자를 사용하면 된다. >> , << 곱하기 나눗셈 대신에 요고 이용.

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다