바이트

나루 위키
둘러보기로 가기 검색하러 가기

나루에서 바이트는 항상 8비트이다.

아키텍처에서 최소 접근 가능한 단위(C에서 바이트의 정의와 같음)가 8비트가 아닐 수 있다. 나루는 8비트보다 작은 바이트를 지원하지 않는다. 바이트가 8비트보다 클 경우, 구현체는 각 바이트의 최하위 8비트만을 읽고 쓸 수 있다. 쓰는 과정에서 다른 비트가 어떻게 변경되는지는 또는 변경되지 않는지는 구현체가 결정할 수 있다. 이러한 이유로 각 구현체가 8비트보다 더 큰 바이트를 지원하기 위한 별도 패키지를 지원하는 것을 권장한다.

논의

거의 모든 현대 컴퓨터 아키텍처는 최소 접근 가능한 단위가 8비트이다. 그렇지 않은 현대 아키텍처는 일부 DSP에 한정되기 때문에, 8비트가 아닌 바이트를 고려해서 코드를 작성하는 것을 강제할 수 없다.

나루의 거의 모든 기능은 바이트 크기에 영향을 받지 않기 때문에(이를테면 1바이트가 9비트라서 바이트열에서 511까지의 숫자가 튀어 나와서 생기는 문제는 언어 문제가 아닌 사용자의 코드 문제이다), 결국 쟁점은 구현체가 관리하지 않는 메모리를 접근할 경우로 귀결된다. C는 이러한 메모리를 완벽하게 다룰 수 있어야 한다는 조건이 있기 때문에 1바이트가 8비트가 아닌 상황을 허용한다. 하지만 나루는 그럴 필요가 없으므로, 핵심 언어는 메모리의 일부만 다룰 수 있고 완벽하게 다루기 위해서는 아키텍처별 패키지를 사용하는 것을 권장할 수 있다.