C 언어 에서 의 진 지식 집합
진법 은 일종 의 계수 방식 으로 자주 사용 하 는 것 은 2 진법,8 진법,10 진법,16 진법 이다.모든 데 이 터 는 컴퓨터 메모리 에 바 이 너 리 로 저 장 됩 니 다.
나 는 진법 에 대한 개인 적 인 이 해 를 가지 고 있다.이 진 수 는 2 를 계산 단원 으로 하고 2 진 1 위 를 채 우 는 수 이다.8 진 수 는 8 을 계산 단원 으로 하고 8 진 1 위 를 채 우 는 수 이다.
모든 숫자 에 대해 우 리 는 서로 다른 진법 으로 표시 할 수 있다.예 를 들 어 10 진수 12 는 2 진법 으로 1100 을 표시 하고 8 진법 으로 14 를 표시 하 며 16 진법 으로 0 xC 를 표시 할 수 있다.
2.진 변환 규칙
만 진 값 이 1 자리 에 들 어가 고 한 자릿수 가 0 으로 변 하 는 원리 에 따라 우 리 는 10 진수 18 을 예 로 들 어 1-18 중의 모든 수치 가 각종 진 제 를 바 꾸 는 것 에 대해 상세 한 설명 을 한다.
바 이 너 리 전환:
1 이 2 보다 작 으 면 1 자리 에 들 어 갈 필요 가 없고 1 의 2 진 값 은 1 이다.
2 는 2 진 값 1 뒤의 숫자 로 1+1 이 2 를 채 우 면 1 자리 에 들 어가 야 하고 한 자릿수 가 0 으로 변 하기 때문에 2 의 2 진 값 은 10 이다.
3 은 2 진 값 10 뒤의 숫자 로 11 의 한 자릿수 가 2 보다 작 기 때문에 1 자리 에 들 어 갈 필요 가 없 기 때문에 3 의 2 진 값 은 11 이다.
4 는 이 진 값 11 뒤의 숫자 로 11 의 한 자릿수 1+1 만 2 로 1 자리 에 들 어가 야 하 는데 이 진 값 11 의 자릿수 는 1+1 과 2 가 되 기 때문에 자릿수 에 1 을 더 하면 최종 전환 결 과 는 100 이다.
전환 사고:이 진 값 11+1->10+(1+1)(개 위 는 2,1 위,한 자릿수 는 0)->(1+1)+0(자릿수 만 2,1 위)->100
이 를 통 해 최종 10 진수 18 의 2 진 전환 결 과 는 10010 이다.
회전 8 진법:
1-7 은 8 보다 작 으 면 1 위 에 들 어 갈 필요 가 없고 1-7 의 8 진 은 1-7 로 표시 한다.
8 은 8 진 값 7 뒤의 숫자 로 7+1 이 8 을 채 우 면 1 자리 에 들 어가 야 하고 한 자릿수 가 0 으로 변 하기 때문에 8 의 8 진 값 은 10 이다.
이런 식 으로 미 루어 보면 최종 10 진수 18 의 8 진법 전환 결 과 는 22 이다.
16 진법 으로 바꾸다
16 진법 에서 한 자릿수 1-15 는 각각 1,2,3,4,5,6,7,89 a b c d e f(a=10...f=15)이다.
16 은 16 진수 c 뒤의 1 개 수 입 니 다.c+1 이 16 이 되 기 때문에 1 자리 에 들 어가 야 하고 한 자릿수 가 0 으로 변 하기 때문에 16 의 16 진 은 10 입 니 다.
최종 10 진수 18 의 16 진법 전환 결 과 는 12 이다.
상세 한 결 과 는 다음 그림 과 같다.(C 언어 는 숫자 앞 에 0x 를 더 한 수 를 16 진수 로 여 긴 다)
3.C 언어 에서 int 형식 진법 의 성명 과 자리 표시 자
아래 세 변수의 할당 방식 은 다 르 지만 실제 할당 결 과 는 모두 18 이다.
// 0b int number1 = 0b10010; // 0 int number2 = 022; // 0x int number3 = 0x12;
8 진 자리 차지 문자:%o16 진법 자리 차지 문자:%x
4.메모리 저장 데이터 세부 사항
int 형식 데 이 터 는 4 개의 바이트,1 개의 바이트 는 8bit 라 는 것 을 알 고 있 습 니 다.또한 모든 데 이 터 는 컴퓨터 메모리 에 바 이 너 리 로 저장 되 어 있 기 때문에 메모 리 는 0 또는 1 32 개 로 int 형식 데 이 터 를 묘사 해 야 합 니 다.
18 의 바 이 너 리 수 는 10010 이기 때문에 우 리 는 int 형식 변 수 를 18 로 할당 합 니 다.본질 적 으로 이 변수의 메모리 주 소 를 대응 하 는 32 개의 bit 비트 비트 비트 로 수정 합 니 다.
0000 0000 0000 0000 00001 0010(31 자리 미 만,뒤의 숫자 는 0 으로 채 웁 니 다.왜 32 가 아 닌 31 일 까요?나중에 소개 합 니 다)
우리 가 두 변 수 를 정의 한다 고 가정 하 자.
// 0b
int number1 = 0b10010;
// 0
int number2 = 022;
// 0x
int number3 = 0x12;
컴퓨터 는 메모리 주소 에 따라 크 고 작은 순서 로 메모리 공간 을 분배 합 니 다.구체 적 으로 다음 그림 과 같 습 니 다.5.진법 의 변환 공식
바 이 너 리 10 진법
0b 1100->0*2 의 0 차방+0*2 의 1 차방+1*2 의 2 차방+1*2 의 3 차방=12
10 진 2 진
67->64+2+1->2 의 6 차방+2 의 1 차방+2 의 0 차방=0b 1000011
6.진법 의 기타 지식
1.n 비트 2 진 이 저장 할 수 있 는 정수 범위 공식:2 의 n 차방-1
예 를 들 어 3 자리 의 이 진수 의 최대 치 는 111 이 고 해당 하 는 10 진수 숫자 는 7 이다.5 자리 의 이 진수 최대 치 는 11111 이 고,대응 하 는 10 진수 숫자 는(2*2*2*2*2*2)-1=31 이다.
2.음수 의 바 이 너 리 저장 규칙 은 가장 왼쪽 에 있 는 숫자 가 1 입 니 다.예 를 들 어 0000 0000 0000 00001 0010 은 정 수 를 나타 내 고 1111 1111 1111 1111 1111 1111 1111 1111 1110 1101 은 음 수 를 나타 낸다.
이로써 int 유형 이 보존 할 수 있 는 최대 정 수 는 2 의(32-1)차방-1=2147483647 로 추정 된다.왜 32-1 을 사용 해 야 합 니까?아주 간단 합 니 다.32 비트 중 1 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.