isascii 함수의 manual은 다음과 같다!

#include <ctype.h>
int isascii(int c);
isascii 함수는 입력된 문자가 0과 0177(8진수)를 포함한 사이의 문자인지 검사한다.여기서 왜 굳이 십진수 127를 8진수 0177로 작성했는지 의문이 들었다.
C 언어와 관련된 많은 초기 문서와 매뉴얼들은 8진수 표기를 사용하여 ASCII 값을 설명하는 전통이 있다고 한다.
그 이유는
초기 컴퓨터 시스템은 종종 6비트, 12비트, 18비트, 또는 36비트 위드 길이를 사용했다. 8진수는 각 자리 숫자가 3비트로 표현되므로 3비트의 배수로 구성된 시스템과 잘 맞아 떨어졌다!
(여기서 워드란 CPU가 한 번에 처리할 수 있는 데이터의 기본 단위를 이야기한다)
2진수와 직접적인 변환 관계가 있고 이진수에 비해 더 간단하게 표현될 수 있다!
2진수(101 | 110 | 011) <=> 8진수(5 | 6 | 3)
8진수는 당시 기술의 제약(메모리 제약)과 표준화의 부재에 대한 대응
8진수는 메모리를 효율적으로 사용하면서도 가독성을 유지할 수 있었고초기 컴퓨터의 다양한 시스템에서 8진수를 사용하는 것이 일반적이었다!
초기 UNIX 시스템과 같은 운영 체제는 8진수 표기를 널리 사용했다.
chmod 와 같은 권한 관리 명령어의 경우 8진수를 사용하여 읽기(r),쓰기(w), 실행(x) 권한을 설정했다.
해당 manual에는 return values 에 대한 설명이 없어 isascii를 참고했다.
int ft_isascii(int c)
{
return (0 <= c && c <= 127);
}