컴퓨터가 0부터 계산되는 이유는 무엇입니까?

Apr 16, 2025
하드웨어
캐치되지 않은 콘텐츠


0부터 세는 것은 많은 컴퓨터 언어에서 매우 일반적인 관행이지만 그 이유는 무엇입니까? 현상과 그것이 왜 그렇게 널리 퍼져 있는지 탐구하면서 계속 읽으십시오.

오늘의 질문 및 답변 세션은 커뮤니티 중심의 Q & A 웹 사이트 그룹 인 Stack Exchange의 하위 부문 인 SuperUser가 제공 한 것입니다.

질문

수퍼 유저 독자 인 DragonLord는 왜 대부분의 운영 체제와 프로그래밍 언어가 0부터 계산되는지 궁금합니다. 그는 다음과 같이 씁니다.

컴퓨터는 전통적으로 0부터 시작하는 숫자 값을 집계합니다. 예를 들어 C 기반 프로그래밍 언어의 배열은 인덱스 0에서 시작합니다.

이에 대한 역사적 이유는 무엇이며, 0부터 계산하는 것이 1부터 계산하는 것보다 실질적인 이점은 무엇입니까?

왜 그렇습니까? 관행이 널리 퍼져 있지만 분명히 그 구현에 대한 실질적인 이유가 있습니다.

대답

수퍼 유저 기여자 Matteo는 다음과 같은 통찰력을 제공합니다.

0부터 배열을 계산하면 각 요소의 메모리 주소 계산이 단순화됩니다.

배열이 메모리의 지정된 위치 (주소라고 함)에 저장되면 각 요소의 위치는 다음과 같이 계산 될 수 있습니다.

element (n) = address + n * size_of_the_element

첫 번째 요소를 첫 번째 요소로 간주하면 계산이

element (n) = 주소 + (n-1) * size_of_the_element

큰 차이는 아니지만 각 액세스에 대해 불필요한 빼기를 추가합니다.

추가하기 위해 편집 :

  • 배열 인덱스를 오프셋으로 사용하는 것은 필수 사항이 아니라 습관 일뿐입니다. 첫 번째 요소의 오프셋은 시스템에 의해 숨겨 질 수 있으며 요소를 할당하고 참조 할 때 고려됩니다.
  • Dijkstra "번호 매기기가 0부터 시작해야하는 이유"( pdf ) 여기서 0으로 시작하는 것이 더 나은 선택 인 이유를 설명합니다. 0에서 시작하면 범위를 더 잘 표현할 수 있습니다.

답을 더 깊이 파고 들고 싶다면 Dijkstra 논문이 유익한 자료입니다.


설명에 추가 할 것이 있습니까? 댓글에서 소리를 내세요. 기술에 정통한 다른 Stack Exchange 사용자의 답변을 더 읽고 싶으신가요? 여기에서 전체 토론 스레드를 확인하십시오. .

Why Do Computers Count From Zero? (16 Solutions!!)

#1 How Computers Count?

Computers Count From Zero .. Confused?? - How To Fix! (Java / Python)

How Do Computers Keep Time?

Why Do Computers Use 1s And 0s? Binary And Transistors Explained.

Exploring How Computers Work

Why Use Binary? - Computerphile


하드웨어 - 가장 인기있는 기사

Vizio의 AirPlay 베타에 가입하는 방법

하드웨어 Jan 27, 2025

바이스 에서 CES 2019 , 많은 TV 제조업체 발표 TV 용 내장 Apple AirPlay . Vizio는 2016 년으로 돌아가는 많..


HDTV에서 대화가 왜 그렇게 조용합니까?

하드웨어 Jul 21, 2025

우리는 모두 거기에있었습니다. 화면의 등장 인물이 말을하고 있고 너무 조용해서 2 초 후에 큰 폭발음이 들리도록 볼륨을 높였습니다. �..


가상 머신 속도 향상을위한 완벽한 가이드

하드웨어 Jul 5, 2025

가상 머신은 가상 하드웨어를 제공하고 컴퓨터에서 한 번에 여러 운영 체제를 실행하는 까다로운 짐승입니다. 결과적으로 때때로 약간 �..


드라이브를 분할 할 때 GPT와 MBR의 차이점은 무엇입니까?

하드웨어 Aug 4, 2025

kubais / Shutterstock.com Windows 10 또는 8.1에서 새 디스크를 설정하면 MBR (마스터 부트 레코드) 또는 GPT (GUID 파티션 �..


iOS에서 Google 클라우드 프린터로 인쇄하는 방법

하드웨어 Apr 5, 2025

애플 자체 AirPrint 인쇄 iPhone 및 iPad에 깊이 통합되어 있습니다. 운영 체제 전체에 표시되는 "인쇄"옵션은 AirPrint 지원 프린터로..


성가신 Verizon FIOS 위젯 "프로모션"을 비활성화하는 방법

하드웨어 Mar 25, 2025

캐치되지 않은 콘텐츠 Verizon FIOS에는 훌륭한 기능이 많이 있지만 셋톱 박스에는 한 가지 이상한 결함이 있습니다. 한동안 사용하지 않�..


HTG가 Sculpt를 리뷰합니다 : 기발한 인체 공학적 키보드

하드웨어 Sep 30, 2025

컴퓨터 책상에 진지하게 시간을 기록하는 사람은 키보드와 마우스가 손목, 어깨, 심지어 등을 감당할 수있는 피해를 알고 있습니다. 오�..


Windows에서 여러 하드 드라이브를 사용하기위한 7 가지 팁

하드웨어 Jul 11, 2025

새 하드 드라이브 설치 Windows가 할 일은 빈 드라이브 문자를 제공하는 것입니다. 당신이 작은 경우 솔리드 스테이트 드라�..


카테고리