우수 답변
컴퓨터는 아무것도 모릅니다. 무언가의 의미를 전달받습니다.
어떤 방식 으로든 인코딩 되고 디코딩 하여 의미있는 작업을 수행합니다. 가장 많이 사용되는 인코딩 체계는 ASCII 확장 및 UNICODE (예 : UTF-8, UTF- 16 등)하지만 직접 디자인 할 수도 있습니다. 유일한 문제는 데이터의 이식성입니다. 귀하의 체계에 따라 인코딩 된 모든 데이터는 귀하의 인코딩 체계를 사용하지 않는 시스템에서 쓰레기처럼 보일 수 있습니다.
컴퓨터 용 소프트웨어를 설계 할 때 프로그래머는 소프트웨어에서 {} 및 []의 의미를 결정합니다. . 따라서 {} 및 []의 의미는 소프트웨어의 컨텍스트 에 따라 다릅니다.
C11 , C 프로그래밍 언어의 현재 표준 은 유니 코드 (아마도 UTF-8)로 인코딩되어 있지만 {및}는 추가로 인코딩됩니다. C 언어로 코드 블록 을 나타냅니다 (아래 예 참조).
#include
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
CSS (Cascading Style Sheets)에서 {및}는 선언 블록 <을 나타내도록 추가로 인코딩됩니다. / span> 아래 예와 같이 :
p {
color: red;
text-align: center;
}
요컨대 컴퓨터에서 {} 및 []은 무엇이든 의미 할 수 있습니다. 프로그래머가 소프트웨어에서 정의한대로. 수학에서는 다음과 같은 의미를 갖습니다. 대괄호 (수학)-Wikipedia
Answer
대신 현대 프로그래밍 언어에서는 값을 증가, 감소, 곱하기, 나누기 또는 모듈러스 화하고 변수에 저장하기 위해 여러 명령이 필요하므로 하나의 명령으로 이러한 작업을 수행 할 수 있습니다. 일부 언어는 이미이 작업 중 일부를 수행하는 방법을 제공하지만 (제 예에서도 보여 드리겠습니다) 일부 언어는 제공하지 않습니다.
다른 언어로이 작업을 수행하는 방법 :
x = x + 1; //also x++; or ++x;
x = x - 1; //also x--; or --x;
x = x * 2;
x = x / 2;
x = x \% 3;
“바로 가기”방법 :
x += 1;
x -= 1;
x *= 2;
x /= 2;
x \%= 3;
이 기능을 지원하는 대부분의 언어에서 이러한 기능은 첫 번째 코드 블록과 똑같은 작업을 수행하지만 공간을 더 적게 차지합니다. 더하기와 빼기의 실제 용도는 단항 ++ 및–연산자로는 할 수없는 더하기 / 빼기 위해 변수 또는 다른 양을 대체 할 수 있다는 것입니다. 꽤 큰 게임을하고 있고 혼자서 작업하고 있다고 가정 해 보겠습니다. 시간을 절약하기 위해 동일한 작업을 수행 할 수있는 가장 짧은 타이핑을 사용하려고합니다. 모든 것을 입력하는 것과 똑같은 작동 속도를 가지고 있고 똑같은 방식으로 수행하기 때문에 이것이 재생되는 곳입니다 (++x
및 는 x++
및 x--
와 비교할 때 이전과 달리 작업 후 값을 반환합니다. .
다음 실제 사례를 고려해보십시오 (제한 및 충돌 확인과 같은 일부 항목이 분명히 누락되어 있음).
if(Keyboard.getKeyPressed(Key\_W) && !Keyboard.getKeyPressed(Key\_D))
{
acceleration -= 0.128f; //we"re subtracting here to change the direction to left
x += deltaTime * acceleration;
}
else if (Keyboard.getKeyPressed(Key\_D) && !Keyboard.getKeyPressed(Key\_W))
{
acceleration += 0.128f;
x += deltaTime * acceleration;
}
이 방법은 타이핑을 조금만 절약 할 수 있지만 수천 개의 코드 줄. 또한 변수를 + /-/ * / etc 값으로 설정하는 것보다보기 좋으며 어떤 사람들에게는 읽기가 더 쉬울 수 있습니다. 이 기능을 지원하는 언어로 프로그래밍 할 때는 그 방식 만 사용합니다.