Skip to content

Commit 2abe813

Browse files
authored
Create README.ko.md
1 parent 8d7cdf9 commit 2abe813

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed

README.ko.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# `BitArray`
2+
3+
> *Read this in other languages: [English](README.md), :kr: [Korean](README.ko.md)
4+
5+
<br />
6+
7+
`BitArray`**비트 단위 데이터 조작 및 관리**를 위한 경량 클래스 입니다.
8+
**C++****Python** 두 언어로 구현되어 있으며, 네트워크, 데이터 압축, 바이너리 분석 등의 분야에서 활용 가능합니다.
9+
10+
## 📁 프로젝트 구조
11+
12+
```
13+
BitArray-main/
14+
├── cpp/ # C++ 구현
15+
│ ├── main.cpp
16+
│ └── README.md
17+
├── python/ # Python 구현
18+
│ ├── BitArray.py
19+
│ └── README.md
20+
├── README.md # 프로젝트 소개 문서
21+
├── LICENSE
22+
└── .gitignore
23+
```
24+
25+
---
26+
27+
## 💡 기능 요약
28+
29+
| 기능 | 설명 |
30+
|---------------|----------------------------------------------------------------------|
31+
| 비트 초기화 | 바이트 배열 또는 비트 크기를 기반으로 비트 배열 생성 |
32+
| 비트 추출 | 특정 오프셋과 길이에 따라 부분 비트 배열 추출 |
33+
| 비트 병합 | 다른 비트 배열을 지정 위치에 병합 가능 |
34+
| 비트 연산 | `+`, `<<`, `>>` 연산자 지원 |
35+
| 비트 반전 | 비트 순서를 역으로 뒤집는 `reverser()` 지원 |
36+
| 시각화 | 사람이 읽기 쉬운 형식으로 비트 출력 (`print`, `dump`) |
37+
| 유닛 테스트 | 다양한 연산에 대한 테스트 코드 포함 |
38+
39+
---
40+
41+
## 🧠 언어별 구현
42+
43+
### ✅ C++
44+
45+
- 구현 파일: `cpp/`
46+
- 주요 클래스: `BitArray`
47+
- STL 기반 고성능 구현
48+
- 단위 테스트 포함 (main.cpp)
49+
- 주요 특징:
50+
- `std::vector<uint8_t>` 기반 저장
51+
- `get`, `merge`, `toArray`, `dump` 등 다양한 비트 처리 메서드 제공
52+
53+
📄 자세한 내용: [`cpp/README.md`](cpp/README.md)
54+
55+
---
56+
57+
### ✅ Python
58+
59+
- 구현 파일: `python/`
60+
- 주요 클래스: `BitArray`
61+
- 파이썬 리스트와 비트 조작을 통한 구현
62+
- 주요 특징:
63+
- 비트 배열 병합 및 추출
64+
- `to_array`, `to_int_array`, `reverser`, `__add__`, `__rshift__`, `__lshift__` 지원
65+
- 단위 테스트 함수 포함
66+
67+
📄 자세한 내용: [`python/README.md`](python/README.md)
68+
69+
---
70+
71+
## 🔬 사용 예시
72+
73+
### C++ 예시
74+
75+
```cpp
76+
BitArray a({0b11000000}, 3);
77+
a.print(); // 출력: 110
78+
79+
BitArray b({0b01000000}, 2);
80+
auto c = a + b;
81+
c.print(); // 출력: 11001
82+
```
83+
84+
### Python 예시
85+
86+
```python
87+
bit_array = BitArray([0b11000000], 8)
88+
bit_array.print() # 출력: 1100 0000
89+
90+
sub_array = bit_array.get(2, 3)
91+
sub_array.print() # 출력: 000
92+
```
93+
94+
---
95+
96+
## 🔧 설치 및 실행
97+
98+
### C++
99+
```bash
100+
cd cpp
101+
g++ main.cpp -std=c++17 -o bitarray
102+
./bitarray
103+
```
104+
105+
### Python
106+
```bash
107+
cd python
108+
python3 BitArray.py # 내부에서 runTests() 실행 가능
109+
```
110+
111+
---
112+
113+
## 🧪 테스트
114+
115+
각 구현에 단위 테스트 코드 포함되어 있어, 실행 시 기능이 정상 동작하는지 확인할 수 있습니다.
116+
117+
---
118+
119+
## 📜 라이선스
120+
121+
- MIT License
122+
- https://github.com/JayTwoLab/BitArray
123+

0 commit comments

Comments
 (0)