탄소 언어 - 연산자, 파트 4

개요
Carbon은 C++와 거의 동일한 연산자를 가지고 있습니다. 따라서 익숙하다면 이 부분을 건너뛸 수 있습니다.
항상 그렇듯이 독자는 this github link에서 일부 소스 코드를 찾을 수 있습니다.

산술 연산자
부정: -
더하기 연산자: +
빼기 연산자: -
곱셈 연산자: *
나누기 연산자:/
모듈로 연산자: %

다음 연산자를 간단히 살펴보겠습니다.

    var myVariable: i32 = 3;
    myVariable = -myVariable;
    Print("Negation of 3 is: {0}", myVariable);
    Print("Sum of 6 and 3 is: {0}",6 + 3);
    Print("Difference of 6 and 3 is: {0}",6 - 3);
    Print("Multiplication of 6 and 3 is: {0}",6 * 3);
    Print("6 divided by 3 is: {0}",6/3); 
    Print("Mod3 of 5 is: {0}",5 % 3);


탄소 전환
변수의 유형을 변경하기 위해 변환을 사용합니다. Carbon은 키워드로 변환 작업을 지원합니다.

var myConvertable: i32 = 3;
var convertedVersion: f32 = myConvertable as f32;


조건 연산자
논리 연산자는 거의 동일합니다. 우리는 아직 조건문을 배우지 않았기 때문에 지금 우리에게도 쓸모가 없습니다 :)
  • ==
  • 와 같음
  • !=
  • 와 같지 않음
  • 보다 큼 >
  • 크거나 같음 >=
  • 미만 <
  • <=보다 작거나 같음

  • 다음은 이러한 연산자에 대한 몇 가지 예입니다.

        var s: bool = (22 == 22);
        var a: bool = (8 > 2022);
        var d: bool = (8 >= 2022);
        var i: bool = (8 < 2022);
    


    논리 연산자
    논리 연산자는 Python과 동일합니다.
  • 및 키워드(&& 대신) 및 연산
  • 또는 키워드(|| 대신) 또는 연산
  • 논리적 보완을 위한 키워드가 아님(! 대신)

  •     var g: bool = s and a;
        var l: bool = d or i;
        var b: bool = not i;
    

    비트 연산자
  • ^ 보수용(값 앞)
  • 비트 AND(값 사이)에 대한 &
  • | 비트 OR의 경우(값 사이)
  • << 왼쪽 이동(값 사이)
  • for right shift (between the values)


  • XOR(값 사이)의 경우 ^

  • 더 잘 이해하기 위해 몇 가지 예를 살펴보겠습니다.
    우리는 32비트 정수를 사용할 것이고 효과를 더 잘 보기 위해 비트 값이 주어질 것입니다.

        var first: i32 = 7; // 00000000 00000000 00000000 00000111
        var second: i32 = 2; // 00000000 00000000 00000000 00000010
    


    첫 번째 변수의 보수를 직접 구해봅시다. 보수를 취하기 위해 기본적으로 0을 1로, 1을 0으로 변경합니다.
    11111111 11111111 11111111 11111000
    2 기반의 부호 있는 정수이므로 그 값을 찾으려면 1의 보수에 1을 더해야 합니다. 그러나 우리는 이미 1의 보수를 했으므로 원래 값은 1의 보수입니다. 여기에 1을 더하면 8이 됩니다. 그러면 결과는 -8이어야 합니다.

    코드로 확인해 봅시다:Print("Complement of first: {0}", ^first); // Output: -8
    그리고 조작이 꽤 쉽습니다. 우리는 같은 위치에 있는 1을 봅니다. 그러면 다음과 같아야 합니다.
    00000000 00000000 00000000 00000010

    코드로 확인해 봅시다:Print("first and second: {0}", first & second); // Output: 2
    그리고 다른 운영자와 계속 진행하십시오.

        Print("first or second: {0}", first | second); // Output: 7
        Print("first xor second: {0}", first ^ second); // Output: 5
        Print("first left shift by 1: {0}", first << 1); // Output: 14
        Print("first right shift by 1: {0}", first >> 1); // Output: 3
    


    결론
    Carbon의 모든 연산자는 아니지만 다른 프로그래밍 언어와 유사하다는 것을 알 수 있습니다. 그러나 Carbon은 C++의 후속 제품이지만 몇 가지 차이점이 있습니다.

    좋은 웹페이지 즐겨찾기