C 언어 데이터(정수,부동 소수점)가 메모리 에 저 장 됩 니 다.

이 편 은 주로 정수,부동 소수점 이 메모리 에 어떻게 저장 되 는 지 토론 합 니 다!
데이터 형식 상세 설명
앞의 C 언어 기초 개관 에서 기본 적 인 C 언어 내장 유형 을 언급 했 지만 C 언어의 데이터 유형 은 무수 합 니 다~그러나 이러한 유형 을 몇 가지 유형 으로 나 눌 수 있 습 니 다.
유형의 분류:
메모리
char,short,int,long,long 및 세트 로 된 unsigned,int*,int[]..부동 소수점
float,double,float[]…
  • 구조 체(구조 체 는 메모리 에 저 장 된 저장 소 뒤에 토론 합 니 다~)
  • 메모리 종류 에 대한 정수 저장:
    1.바이트 순서
    2.보충 코드
    메모리 창
    디 버 깅 모드 의 메모리 창 은 디 버 깅 상태 가 아니라면 메모리 창 을 열 수 없습니다.정상 적 인 상황 에서 디 버 깅 하지 않 으 면 메모리 창 이 없습니다.


    
    char str[]="abc";
    

    여기 메모리 데 이 터 는 일부 그림 만 캡 처 하여 선명 하 게 관찰 하기에 편리 하 다.
    메모리 데이터 에는 많은"cc cc cc"가 있 습 니 다.바로 0xcc 입 니 다.사실은 Intel 의 CPU 에서 중단 명령 을 표시 합 니 다.VS debug 모드 에서 부분 변수의 뒤쪽 을 0xcc 로 채 웁 니 다.채 우 는 목적 은 아래 표 시 를 제때에 발견 하 는 것 입 니 다.
    
    int num = 0x11223344;
    

    바이트 순서
    바이트 순서
    바이트 순 서 는 바이트 단위 이다.
    바이트 순 서 는 큰 단자 바이트 순서(큰 단자 순서)와 작은 단자 바이트 순서(작은 단자 순서)로 나 뉜 다.
    큰 바이트 순서:높 은 주소 에 위 치 를 두 는 것 입 니 다.
    작은 바이트 순서:낮은 위치(작은)를 낮은 주소(작은)위 에 놓 는 것 입 니 다(작은).
    전체적으로 말 하면 소 단 서 의 응용 이 더욱 광범 위 하 다.바이트 순 서 는 CPU 와 관련 된 속성 입 니 다.Intel 의 CPU 는 주로 작은 순서 입 니 다~
    상기 예:0x 11223344 메모리 데이터 가 11223344 이면 큰 순서 이 고 443322111 은 작은 순서 이다.
    프로그램 판단 대 단 서 or 소 단 서?
    
    int isBidEnd() {
    	int num = 0x11223344;
    	int* p = #
    	char* p2 = (char*)p;
    	if (*p2 == 0x11) {
    		return 1;
    	}
    	else {
    		return 0;
    	}
    }
    int main() {
    	int ret = isBidEnd();
    	if (ret == 1) {
    		printf("    
    "); } else { printf("
    "); } system("pause"); return 0; }
    포인터 간 의 강제 형식 변환 은 포인터 내부 에 저 장 된 주소 값 에 영향 을 주지 않 고 뒤의 순서 참조 작업 에 만 영향 을 줍 니 다~
    네트워크 전송 바이트 순서 고정 사용 대 단~
    보충 하 다
    메모리 에 성형 저장 소:원본 코드,리 코딩,패 치
    원 코드:양수 의 이 진 을 바탕 으로 기호 위 치 를 1 로 설정 합 니 다.
    리 버스:기호 위치 가 변 하지 않 고 다른 위치 에서 리 버스 를 취 합 니 다~
    패 치:리 코딩+1,패 치 를 얻 을 수 있 습 니 다.
    양수 의 원 코드,반 코드 와 패 치 는 모두 같다.
    예:
    
    int main() {
       char a = -1;
       signed char b = -1;//char  signed char    
       unsigned char c = -1;
       printf("a=%d
    b=%d
    c=%d
    ", a, b, c); system("pause"); return 0; }
    형식 변환 규칙
    1.긴 데 이 터 를 짧 은 데이터 로 변환 하고 높 은 위치 에서 직접'절단'
    2.짧 은 데 이 터 를 성장 한 데이터 로 바 꾸 고 높 은 위 치 는 기호 위 치 를 보충 해 야 한다.

    메모리 에 부동 소수점 형 저장 소
    소수 가 컴퓨터 에서 계산 하 는 것 은 정수 보다 훨씬 복잡 하 다~
    부동 소수점 저장 규칙:
    IEEE 754 규정:
    32 비트 에 대한 부동 소수점:
    가장 높 은 한 자 리 는 기호 비트 s 이 고,이 어 8 자 리 는 지수 E 이 며,나머지 23 자 리 는 유효 숫자 M 이다.
    64 비트 에 대한 부동 소수점:
    가장 높 은 한 분 은 기호 비트 S 이 고,이 어 11 분 은 지수 E 이 며,나머지 52 분 은 유효 배열 M 이다.

    하나의 부동 소수점 은 컴퓨터 에서'과학 계수 법'의 방식 으로 표 시 됩 니 다~2 의 몇 제곱 으로 표시 합 니까?
    2^E(2 의 E 제곱)
    E 가 클 수록 표시 할 수 있 는 데이터 범위 가 커진다.
    M 이 클 수록 표시 할 수 있 는 데이터 의 정밀도 가 높다.
    그래서 더 블 사용 을 우선 고려 합 니 다.
    메모리
    반드시 메모 리 를 철저히 이해 해 야 합 니 다~지침 기초 편 에 메모 리 를 쓰 고 있 습 니 다.가 보 셔 도 됩 니 다~
    총결산
    C 언어 데이터 가 메모리 에 저장 되 어 있 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C 언어 데이터 저장 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기