728x90
    
    
  반응형
    
    
    
  
[ Bit, Byte, Word 정리 ]
| Bit | 일(1)과 영(0) 2개로 표현하는 가장 작은 저장 단위 | |
| Byte | 8Bit를 묶어서 사용하는 단위 [1 Byte = 8 Bit] | 2^8 = 256개의 정보 표현 가능 | 
| Word | Byte를 묶어서 사용하는 단위 | 32비트 컴퓨터는 1 Word = 4 Byte = 32 Bit 64비트 컴퓨터는 1 Word = 8 Byte = 64 Bit | 
[ C# 자료형 ]
| 자료형 | Size | 범위 | |
| 정수 숫자 형식 | sbyte | 1 Byte | -128 ~ 127 | 
| byte | 1 Byte | 0 ~ 255 | |
| short | 2 Byte | -32,768 ~ 32,767 | |
| ushort | 2 Byte | 0 ~ 65,535 | |
| int | 4 Byte | -2,147,483,648 ~ 2,147,483,647 | |
| uint | 4 Byte | 0 ~ 4,294,967,295 | |
| long | 8 Byte | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | |
| ulong | 8 Byte | 0 ~ 18,446,744,073,709,551,615 | |
| 부동 소수점 숫자 형식 | float | 4 Byte | ±1.5 x 10−45 ~ ±3.4 x 1038 | 
| double | 8 Byte | ±5.0 × 10−324 ~ ±1.7 × 10308 | |
| 문자 형식 | char | 16 Bit | U+0000~U+FFFF | 
| 논리 형식 | bool | 1 Bit | True(1) 또는 False(0) | 
[Short to Bit Array (Bool Array)]
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static bool[] ShortToBitArray(short data) {     //Short(2 Byte) to Byte Array     byte[] bytes = BitConverter.GetBytes(data);     //bytes[0], bytes[1]     //Byte Array to BitArray     BitArray bits = new BitArray(bytes);     //bits.Count = 16 (2 Byte = 16 Bit)     //BitArray copy to Bool Array     bool[] arr = new bool[bits.Length];     bits.CopyTo(arr, 0);     return arr; } | cs | 
* byte[] BitConverter.GetBytes(short value)
: value 값을 바이트 배열로 반환. 여기서는 short이니깐 2Byte 반환.
[Byte[] to Int]
| 1 2 3 4 5 | public static int ByteArrayToInt(byte[] bytes) {     //if bytes = {0, 0, 0, 25} => return 25     return BitConverter.ToInt32(bytes, 0); } | cs | 
* int BitConverter.ToInt32(byte[] value, int startIndex)
: 바이트 배열(value)에 지정된 위치(startIndex)에서 시작하여
4Byte를 32Bit 부호 있는 정수(Int)로 반환
* int BitConverter.ToInt16(byte[] value, int startIndex)
: 바이트 배열(value)에 지정된 위치(startIndex)에서 시작하여
2Byte를 16Bit 부호 있는 정수(Int)로 반환
[BitConverter 참고]

728x90
    
    
  반응형