uint16은 16비트 부호 없는 정수 유형입니다. 정수에는 부호 없는 유형과 부호 있는 유형이 있습니다. 기본적으로 선언된 정수 변수는 부호 있는 유형을 선언해야 하는 경우 접두사 유형에 지정해야 합니다. 서명되지 않은.
이 기사의 운영 환경: Windows 7 시스템, DELL G3 컴퓨터
uint16의 데이터 유형은 무엇입니까?
uint16은 16비트 부호 없는 정수 유형이고, uint8은 8비트 부호 없는 정수 유형입니다.
정수에는 unsigned(unsigned) 및 signed(signed)라는 두 가지 유형이 있습니다. 부호 있는 유형입니다(char는 약간 특별합니다). 부호 없는 유형을 선언해야 하는 경우 유형 앞에 unsigned를 추가해야 합니다. 음수 값을 취할 수 없는 경우에는 부호 없는 것으로 정의될 수 있으며 일부 기본 임베디드 프로그래밍 데이터에서는 일반적으로 부호 없는 값입니다.
관련 소개:
음수일 때 부호 있는 정수와 부호 없는 정수의 변환
연산(여기서 a>b 등)을 수행할 때 피연산자 중 하나가 부호 있고 다른 숫자가 부호 없는 경우 C 언어는 부호 있는 매개변수를 부호 없는 숫자로 암시적으로 강제하고 이 작업을 수행하기 위해 두 숫자가 모두 음수가 아니라고 가정합니다.
정수는 일반적으로 컴퓨터에서 2의 보수 형태로 존재하며, -1의 보수(4바이트에 저장됨)는 1111,1111,1111,1111입니다. 대부분의 C 언어 구현에서 동일한 단어 크기의 부호 있는 숫자와 부호 없는 숫자 간의 변환에 대한 일반적인 규칙은 값이 변경될 수 있지만 비트 패턴은 변경되지 않는다는 것입니다.
즉, unsigned int를 int로 변환하거나 int를 unsigned int로 변환해도 기본 비트 표현은 변경되지 않습니다. 즉, -1이 unsigned int로 변환된 후에도 메모리에서의 표현은 변경되지 않았습니다. 즉, 1111,1111,1111,1111입니다.
동일한 저장 표현이 애플리케이션의 다른 데이터에 해당할 수 있습니다. 예를 들어 1111, 1111, 1111, 1111은 부호 있는 숫자의 경우 -1을 나타내지만 부호 없는 숫자의 경우 UMax를 나타냅니다. 양수의 1의 보수는 그 자체이고 가장 높은 비트는 부호 비트를 나타내지 않습니다. 그러나 기본 저장소는 동일합니다.
더 많은 관련 지식을 알고 싶다면 FAQ 칼럼을 방문해주세요!
위 내용은 uint16은 어떤 데이터 유형인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!