C/C++ 언어에서는 char, int, long, signed, unsigned 등의 키워드에 의해 구현된다. 다른 언어에 비해 C언어는 CPU의 장점을 살려 기계어로 컴파일 되기 때문에 CPU의 데이터 처리 비트와 부호를 다양하게 반영한다. 이를 위해 키워드를 다양하게 두고 있다.
char을 사용한 정수형은 1바이트로 고정되지만 int는 CPU마다 다른 비트 수를 갖는다. 따라서 개발자는 사용하는 CPU와 컴파일러의 사양을 확인해서 얼마의 비트수로 처리되는가를 인식해야 한다.
자바는 C언어처럼 특정 CPU에 맞추어 컴파일 되는 것이 아니고, 어느 CPU나 실행될 수 있는 BYTE 코드의 중간 형태의 실행 파일을 만든다. 따라서 C언어가 CPU의 상황에 맞추어 정수형 비트 수를 다르게 사용하는 것에 비해, 자바는 가상 머신(VM)에 의해 해석되고 실행된다. 일종의 에뮬레이션 된다는 느낌의 실행 방식이다. 이렇게 되면 해석(Interpreter에 의해 번역)되어 실행되므로 정수형 비트수를 다르게 할 필요가 없다. C/C++는 정수 실행이 기계어에 의해 ALU과 연관되어 실행되는 것과 대조적이다.
자바 고유의 정수 비트 수
byte : 8비트 정수형
short : 16비트 정수형
int : 32비트 정수형
long : 64비트 정수형
C언어가 int을 CPU에 따라 16비트 또는 32비트를 사용하는 반면 자바는 32비트를 사용한다. 일종의 통일성을 유지하므로 C언어 보다 편리하다. 정수 부호의 처리는 2의 보수로 C언어와 동일하다.
자바에서 char 변수는 16비트의 유니코드(UNICODE)를 처리하므로 C/C++의 char와 혼동하면 안 된다.