C#

2의 보수법을 이용한 음수 표현법

JAESEONG LEE- developer 2022. 7. 15. 15:54

1. 먼저 수 부분 비트를 채운다.

2. 전체 비트를 반전시킨다.

3. 반전된 비트에 1을 더한다.

 

-1을 예로 들어서 2의 보수법으로 표현해보겠습니다.

 

00000001 <- 1을 수 부분 비트에 입력

11111110 <- 8개의 비트 전체를 1은 0으로, 0은 1로 반전

11111111 <- 반전된 비트에 1을 더함

 

그렇기 때문에 -1을 2의 보수법으로 표현하니 1111 1111 이 됐습니다.

 

반대로 1111 1111 sbyte 형식의 변수는 얼마를 담고 있는지 물어보자면

 

1111 1111

0000 0000 <- 반전

0000 0001 <- 1을 더하므로 -1 이다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
 
namespace SignedUnsigned
{
    class MainApp
    {
        static void Main(string[] args)
        {
            byte a = 255;
            sbyte b = (sbyte)a;
 
            Console.WriteLine(a);
            Console.WriteLine(b);
 
        }
    }
}
cs

 

 

이와같이 실행 결과를 알 수 있다.