개인 재정 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 프로그래밍에 대한 바이너리의 기본 - 인형

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...