개인 재정 C 프로그래밍에 대한 바이너리의 기본 - 인형

C 프로그래밍에 대한 바이너리의 기본 - 인형

차례:

비디오: C언어/C++ 강의 53화 바이너리 파일 [어소트락 게임아카데미] 2024

비디오: C언어/C++ 강의 53화 바이너리 파일 [어소트락 게임아카데미] 2024
Anonim

다행히도, 저수준 코드를 작성하거나 스위치를 뒤집어 디지털 장치를 프로그래밍 할 필요가 없습니다. 납땜 와이어. 오늘날의 C 프로그래밍은 더 높은 수준에서 발생하기 때문입니다. 그러나 여전히 기계 내부 깊숙이 저수준 코딩이 계속되고 있습니다. 모든 소프트웨어가 상승하는 1과 0의 원시 수프와 단절된 것입니다.

바이너리 소개

바이너리 숫자 또는 비트 는 1과 0입니다. 그러나 그룹으로, 그들은 중대한 힘을 소집한다. 디지털 저장소는 이러한 비트를 그룹으로 사용합니다.

진 그룹화

기간 C 변수 비트 값 범위 부호 값 범위는> 비트
_Bool 1 999 <서명 > 0~1 0~1 <> 바이트 문자 8
0 255 -128 127 단어 단축 INT 16 999 32>에 0 65 535
-32, 768, 767 긴 INT 32 0-4, 294, 967, 295
-2 147 483, 648 내지 2, 147, 483, 647 & lt; 바이트를 비트, 단어 등으로 그룹화 할 경우의 이점은 처리하기가 쉽다는 것입니다. 프로세서는 청크로 된 정보를 더 잘 처리 할 수 ​​있습니다. 청크가 그 값을 얻는 방법은 2의 거듭 제곱에 기초한다. 2 999의 수식 999 10 진 값 999 2 999 0 999 1 999 1 > 2 1 2 10
2

2

4

100 2 3
8 <> 1000 2 999 4 16
10000 2 5 32
100000 2 6 64
1000000 2 > 7 999 128 9000 100000
8 비트 또는 1 바이트로 저장할 수있는 값의 범위를 볼 수 있습니다. C 언어의 char 변수에서 찾을 수있는 범위와 같습니다. 실제로 2 열을 합하면 255 바이트가됩니다. 이는 바이트의 비트 수입니다.
사실, 바이트에 대해 256 개의 가능한 값을 찾을 수 있습니다. 여기에는 모두 0의 순열이 포함됩니다. 그것은 가치입니다. 아래는 2의 멱승이 어떻게 이진 저장 공간에 매핑되는지 보여준다. 10 진수의 소수점 이하 자릿수가 10의 제곱수만큼 증가하는 것처럼 이진수의 비트 수가 2의 제곱으로 증가하여 오른쪽에서 왼쪽으로 읽습니다. 설정되거나 또는 값 1을 갖는 각각의 비트는 2의 제곱수, 즉 2 9 9 9 9 9 9 9 9 9 9 9 9 9 2 및 2 2 9 9 9 9 999를 나타낸다. 0 . 이 값에 십진수를 곱한 다음이를 합산하면 바이너리 00101011의 십진수 표현 인 43이됩니다. 그게 다 좋고 좋지만 기억하지 마십시오!
바이너리를 십진수 값으로 변환하는 것에 신경 쓰지 마십시오. 컴퓨터가 항상 당신을 위해 그 일을합니다. 실제로 컴퓨터는 바이너리 만보고 십진수를 인간의 안구에 대한 호의로 표시합니다.그러나 바이너리 값을 조작 할 때, 무슨 일이 일어나는지 알 수 있습니다. 비트 값을 1로 변경하는 것을 비트 설정이라고합니다. 비트의 값을 0으로 변경하는 것은
비트를 재설정하는 것으로 참조됩니다. 바이너리 값을 표시하는 방법 C 언어의 바이너리 조작 연산자를 가장 잘 이해하려면 바이너리 숫자가 실제로 작동하는지 확인하는 것이 좋습니다. printf () 함수는 이진 변환 문자가 없으며 C 라이브러리는 이진 출력 함수를 호스팅하지 않습니다. 아니, 이진수를 보려면 자신 만의 기능을 만들어야합니다. binbin ()
함수는 binbin ()이라는 2 진 출력 함수를 제공합니다. binbin () 함수의 15 행에있는 binbin () 함수는 int 값을 삼킨다. 출력은 int 값을 2 진수로 나타내는 문자열입니다. BINBIN ()
FUNCTION

#include char * binbin (int n); int main () {int input; printf ("0 ~ 255 값 입력:"); scanf ("% d", & input); printf ("% d은 바이너리 % sn", 입력, binbin (입력)); return (0);} char * binbin (int n) {static char bin [9]; int x; for (x = 0; x <8; x ++) {bin [x] = n & 0x80? '1': '0'; 일반적으로 binbin () 함수의 내용은 다소 신비한 것처럼 보이지만 괜찮습니다.

연습 1

:

binbin () 함수의 소스 코드를 새 프로젝트에 입력하고 몇 번 빌드하고 실행하여 정수가 이진수로 나타나는 방식을 확인하십시오. binbin () 기능, binbin ()은 8 비트의 데이터 만 표시하지만 int 변수 유형은 일반적으로 더 많은 비트를 저장합니다. 연습 2: binbin () binbin ()

int 값의 16 비트를 표시하는 함수입니다 (기술적으로 16 비트는 short int입니다). 이렇게하려면 다음 항목을 변경해야합니다.

  • 9 행: 텍스트를 변경하여 255 대신 65535가 지정되도록하십시오.

  • 17 행: 출력의 16 자와 문자열 끝의 (널 문자)를 더한 값으로 배열의 크기를 17로 수정하십시오. 라인 20: 코드의 즉치 값 8을 16으로 조정하여 16 문자를 모두 계산합니다. 출력.

  • 22 행: 값 0x80을 0x8000으로 바꿉니다. 이 변경은 비트 필드를 더 크게 만듭니다. Build Exercise 2. 몇 번 실행하여 더 큰 값에 대해 비트 필드의 모양을 확인합니다.

C 프로그래밍에 대한 바이너리의 기본 - 인형

편집자의 선택

행사에서 연설을 신청하는 방법 - 인형

행사에서 연설을 신청하는 방법 - 인형

강연을 제안 할 수 있어야합니다 다른 잠재적 인 연사보다 이벤트 참석자에게 더 많은 가치를 제공 할 수 있음을 입증하십시오. 연설 인재 풀은 가능한 연설 기회 수보다 빠르게 증가하고 있습니다. 당신은 이벤트 기획자에게 당신이 원하는 바를 물어볼 수있었습니다. ...

새로운 온라인 커뮤니티 회원 유치 방법 - 온라인 커뮤니티의 인형

새로운 온라인 커뮤니티 회원 유치 방법 - 온라인 커뮤니티의 인형

회원은 일시적입니다. 많은 사람들은 그들이 특정한 목표를 성취 할 때까지 주변에 머물러 있습니다. 다른 사람들은 관심을 잃고 새로운 행 아웃을 찾습니다. 따라서 정기적으로 신입 회원을 영입하지 않으면 커뮤니티가 사라집니다. 사람들이 교류 할 수있는 장소를 마련하는 데 어려움을 겪고 있습니다.

엄마 블로거로서 언론의 관심을 끄는 방법 - 인형

엄마 블로거로서 언론의 관심을 끄는 방법 - 인형

수십만 (또는 수백만)의 사람들이 엄청난 성과를 거두고 있습니다. 예상대로, 쉽게 성취되지는 않습니다. 뉴욕 타임스에 언급되거나 투데이 쇼에 출연하기 위해서는 많은 시간과 노력과 신뢰가 필요합니다. 아마도 ...

편집자의 선택

Ning 사용자 기고에 대한 코멘트 방법 - 인형

Ning 사용자 기고에 대한 코멘트 방법 - 인형

Ning 계정에 로그인하면 다른 Ning 사용자의 블로그 게시물, 회신 한 이벤트, 사진 및 비디오에 대한 의견을 남깁니다. 회원님의 논평 벽에 남긴 댓글, 순수 텍스트, 다른 웹 사이트 링크 및 퍼간 동영상과 같은 요소가 귀하의 댓글에 포함될 수 있습니다 ...

닝 네트워크의 광고 제어 방법 - 덤프

닝 네트워크의 광고 제어 방법 - 덤프

기본적으로 닝 네트워크는 애드 센스 광고는 오른쪽 열에 있습니다. 누군가 광고를 클릭하면 생성 된 모든 수익이 Ning으로 이동합니다. 네트워크에서 광고를 게재하여 수익을 얻고 싶거나 광고를 전혀 원하지 않는 경우 제어 광고 프리미엄 서비스를 구입해야합니다.

Ning에서 그룹을 만드는 방법 - Dingy

Ning에서 그룹을 만드는 방법 - Dingy

Ning에서 새로운 그룹을 시작하는 것은 가장 멋진 방법 중 하나입니다. 네가 닝 네트워크에서 할 수있는 일. 그룹을 만들 수 있도록 네트워크가 설정되어 있다면 다음 단계를 따르십시오.

편집자의 선택

Canon Rebel T3 시리즈 카메라로 원시 이미지 파일 처리하기 - 더미 파일

Canon Rebel T3 시리즈 카메라로 원시 이미지 파일 처리하기 - 더미 파일

Canon Rebel T3 또는 T3i로 촬영 한 이미지를 원시 데이터로 캡처 할 수 있습니다. Canon 소프트웨어를 사용하는 경우 Raw 파일을 즉시 인쇄 할 수는 있지만 인쇄하기 전에 사진 작업실로 가져 가서 온라인으로 공유하거나 사진 소프트웨어에서 편집 할 수 있습니다.

Canon Rebel T3 시리즈 카메라에서 자동 초점 포인트 설정 - 인형

Canon Rebel T3 시리즈 카메라에서 자동 초점 포인트 설정 - 인형

Canon Rebel T3 또는 T3i를 사용하는 스포츠 모드에서는 카메라가 중심 초점 위치에 초점을 둡니다. Creative 자동 및 A-DEP 모드뿐만 아니라 다른 완전 자동 노출 모드 (장면 인텔리전스 자동, 인물, 풍경 등)에서 카메라의 자동 초점 시스템은 9 개의 자동 초점을 모두 찾습니다 ...