2012-03-29 4 views
0

int 데이터 유형의 너비가 ALU의 데이터 너비에 달려 있다고 말하는 것이 맞습니까? 예를 들어, 32 비트 프로세서는 32 비트 폭의 int 데이터 유형을 갖습니다. 마찬가지로 16 비트 및 8 비트 (C는 int의 크기가 적어도 greater than 16 bit임을 보장합니다.기계의 int 데이터 유형의 너비

+0

많은 프로세서들이 지금 당분간 뚜렷한 ALU를 가지고 있지 않으므로 이것을 참조로 사용할 수는 없습니다. 대신 프로세서 내부 데이터 버스 너비를 사용하는 것이 좋습니다. –

+1

링크를 확인하십시오 : http://stackoverflow.com/questions/2331751/does-the-size-of-an-int-depend-on-the-compiler-and-or-processor – Vijay

+0

여기에 또 다른, 거의 중복 : http://stackoverflow.com/questions/9689049/what-decides-the-sizeof-an-integer –

답변

4

아니요, 구현에 달려 있습니다. 예를 들어, 64 비트 시스템 용 많은 컴파일러는 여전히 32 비트 폭의 int를 가지고 있습니다.

+0

또한 오랫동안 386+에서 16 비트 컴파일러가 사용되었습니다. – ninjalj

+0

그리고 8 비트 컴파일러는 일반적으로 16 비트 int를 가지고 있습니다. – Lundin

1

기본 유형 및 sizeof과 같은 내장 연산자의 세부 사항은 컴파일러에 따라 다르기 때문에 기본 유형의 크기 결정에 대해서는 컴파일러의 설명서를 참조해야 할 것입니다. 결국 그것은 하드웨어의 세부 사항과 직접적으로 관련이있을 것입니다. 그러나 C가 ALU 세부 사항에 대한 자신보다 더 높은 추상화 수준에 있다고 생각합니다.

관련 문제