초보 해커를 위한 C언어와 동작 원리/Ch1. Theory 2

데이터 표현 방식

학습 목표! 본 내용은 검토 전 포스트 입니다. 부정확한 내용이 있을 수 있으니 양해바랍니다.bit, byte등 데이터 단위를 이해한다진수와 진수 변환을 이해한다1. 데이터 단위bit : 0과 1로만 표현Byte : 8bitKB : 1024Bytes(2^10 Bytes)MB : 1024KBGB : 1024MBKB → MB → GB는 각 2의 10승배이다.보통 소문자 b는 bit를 대문자 B는 Byte를 표현한다.(1b : 1byte, 1B : 1Byte)tmi : 256GB 디스크를 구매하면 256GB가 아닌 232GB로 표현된다. 이는 제조사에서 KB→MB→GB를 2^10이 아닌 1000으로 표현하기 때문에, 표기된 용량보다 실제 용량이 적을 수 밖에 없다.1.1. 최소단위컴퓨터는 0과 1이 최소로 표..

컴파일러와 인터프리터

학습 목표! 본 내용은 검토 전 포스트 입니다. 부정학한 내용이 있을 수 있으니 양해바랍니다.고급언어와 저급언어의 정의를 이해한다.컴파일러와 인터프리터의 차이점을 이해한다.해커가 어떻게 프로그램을 분석하는지 이해한다.1. 고급언어와 저급언어우리가 C언어, Python 등으로 짠 소스코드는 사람이 읽기 쉬운 고급 언어이고 컴퓨터가 해석하는 어셈블리어(Assembly language), 기계어은 저급 언어이다. 단어의 의미를 혼동하기 쉬운데 고급 언어는 고급스러운 언어가 아닌 High-level language이기 때문에 컴퓨터와 사람과의 관계에서 인간 친화적이다는 뜻이다. 컴퓨터는 고급언어를 인식하지 못하기 때문에 어셈블리어로 변환 후 기계어로 해석하는 과정을 거친다.#include int main(voi..