공부
-
배열의 길이를 2의 거듭제곱으로 만들기공부 2024. 10. 28. 18:23
- 거듭제곱을 하는 방법Math.Pow를 쓸 수도 있지만, *= 와 while을 이용하면 원하는 만큼 커질 때까지 곱셈을 반복할 수 있다. - Array.Copy의 활용 - 빈 array의 생성 size = 3; int[] arr = new int[size]; 는 되는데, int[] arr = new int[size]{};는 안된다. 둘의 문법이 많이 다르기 때문이다. int[] arr = new int[size]; 배열을 자동으로 기본값(0)으로 초기화하는 문법이다.size는 런타임 중에 결정되어도 상관없다. int[] arr = new int[size]{};배열을 선언하고 명시적으로 초기값을 제공하고자 할때 쓰는 문법이다.컴파일러가 size를 알아야하기 때문에 size는 컴파일 시간 상수(cons..
-
2진수의 음수 표현공부 2024. 2. 21. 01:05
비트연산자에 대해 배우면서 ~num2(11111111 11111111 11111111 11110000)이 왜 정수 -16이 되는지 의아했다. 이를 이해하기 위해서는 2진수의 음수가 어떻게 표현되는지 알아야 한다. 2진수 음수를 나타내는 첫번째 방법 ~ 부호가 있는 절대치를 이용하는 방법. : 2진수의 가장 왼쪽 비트(MSB)로 양/음수를 나타내고, 나머지 비트로 수를 나타낸다. 가장 왼쪽 비트(MSB)가 0이면 양수, 1이면 음수를 나타낸다. *MSB(Most Significant Bit): 가장 중요한 비트. 가장 왼쪽 비트가 수에 가장 큰 영향을 주므로 가장 중요한 비트가 된다. 예시) 8자리 2진수로 수를 나타낸다고 가정하자. 10진수 15를 2진수로 나타내면, 00001111 이 된다. MSB가 ..