비트를 쪼개는 개발자

allen321@naver.com

2024/12 3

부동 소수점(floating point) 이란?

부동 소수점 이란? 부동 소수점은 실수(소수점이 있는 숫자)를 표현 및 연산 하기 위해서 사용하는 실수를 표현하는 방식이다.부동 소수점을 사용하면 상당히 폭넓은 숫자를 표현할 수 있다.부동 소수점은 IEEE 754* 표준에 따라 숫자를 가수, 지수, 부호로 나누어 저장한다.부동 소수점 이외에도 고정 소수점과 같은 표현 방식도 있다. IEEE 754란? : 전기전자공학자협회(Institute of Electrical and Electronics Engineers, IEEE)라는 전기전자공학 전문가들의 국제조직에서 지정한 부동 소수점 관련 표준 포맷을 뜻한다.  부동 소수점의 구성 요소 부동 소수점은 크게 부호(Sign), 지수(Exponent), 그리고 가수(Mantissa)로 구성된다.  1. 부호 (S..

C# [프로그래머스] 모음사전

문제 설명알파벳 모음 **A, E, I, O, U**만을 사용하여 길이가 1부터 5까지인 모든 단어가 사전에 정렬되어 있다고 가정하자.이는 5진수로 이루어진 숫자라고 생각하면 된다.각 자리의 모음 알파벳은 5진수 숫자로 대응되며 해당 알파벳이 가지는 가중치 만큼의 int값을 return 한다. 예 : 'A' 의 경우에는 1을 의미한다.'AA'의 경우에는 2를 의미한다.'AAA'는 3, 'AAAA'는 4, 'AAAAA'는 5를 의미하므로 'AAAAE'는 6을 의미한다. 위 설명을 바탕으로 각각의 자리 마다 가질 수 있는 가중치를 미리 계산해서 (배열의 크기를 정해줘야 하기 때문에) 반복문을 돌려주자, 5진수로 가정하지만 첫번째 숫자를 1로 대입시켜 주기 때문에 return 받는 숫자 값과 인덱스는 다르게 ..

코딩테스트 2024.12.09

메모리 정렬과 패딩

메모리 정렬(Memory Alignment) 이란? 메모리 정렬은 컴퓨터가 데이터를 효과적으로 저장하고 여기에 접근하는 방식을 뜻한다.데이터가 CPU에 저장될 때 컴퓨터가 더 빠르게 접근할 수 있도록 메모리 주소를 특정 기준에 따라 배치한다.핵심 키워드로는 정렬, 구조체 정렬, 패딩 등이 있다.   기본 정렬 규칙 데이터 타입의 크기에 따라 메모리 주소가 정렬된다.데이터의 시작 주소는 해당 데이터 크기의 배수여야 한다.ex) int의 경우는 4바이트 이기 때문에 4의 배수의 주소에 정렬되어야 한다.(0,4,8,12...)ex) double의 경우는 8바이트 이기 때문에 8의 배수의 주소에 정렬되어야 한다.(0,8,16,32...)구조체 내에서의 각 멤버들은 자신의 데이터 크기에 맞게 정렬된다.구조체 전체..