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 언어 데이터 저장 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.