C 언어 에서 의 진 지식 집합

3545 단어 C 언어진법
1.진법 이란 무엇 인가
진법 은 일종 의 계수 방식 으로 자주 사용 하 는 것 은 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 진 자리 차지 문자:%o
16 진법 자리 차지 문자:%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 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트 비트

좋은 웹페이지 즐겨찾기