c++ 산술연산자 예제

난 그냥 알렉스, 당신은 멋진 교사입니다. 당신은 논리적 인 의미가 있도록 주제를 치료하는 순서를 알고, 당신은 설명하기위한 선물을 가지고 당신은 간단하고 이해하기 쉬운 예제의 많은 의 가치를 알고있다. 그리고 이것이 전부가 아니며, 특정 프로그래밍 관행이 왜 나쁜지, 그리고 언어가 허용하는 경우에도 이를 피해야 하는 이유에 대해 매우 통찰력 있는 의견을 제공합니다. 교과서는 프로그래밍 모범 사례를 언급하지도 않습니다. 이것이 교사가 매일 업계에서 일할 때의 차이입니다. 당신은 무엇을 작동하고 무엇을하지 알고있다. 교수가 반드시 알지는 못합니다. #pragma STDC FP_CONTRACT가 지원되고 OFF로 설정되지 않는 한, 모든 부동 점 산술은 중간 결과가 무한한 범위와 정밀도, 즉 반올림 오류 및 부동 점 예외를 생략하는 최적화를 수행하는 것처럼 수행될 수 있습니다. 허용. 예를 들어 C++는 하나의 융합 된 곱하기 – 추가 CPU 명령 또는 = x * x * x * x * x의 최적화가있는 (x * y) + z의 구현을 허용합니다. tmp = x *x; a = tmp *tmp. 피연산자 중 하나 또는 둘 다 부동 점 값인 경우 분할 연산자는 부동 점 분할을 수행합니다. 부동 소수점 분할은 부동 소수점 값을 반환하고 분수는 유지됩니다.

예를 들어, 7.0 / 3 = 2.333, 7 / 3.0 = 2.333, 7.0 / 3.0 = 2.333. >> b의 값은 반올림된 a/2b입니다(즉, 서명된 a의 오른쪽 시프트는 산술 오른쪽 시프트입니다). stDC fenV_ACCESS가 #pragma 지원되고 ON으로 설정된 경우 모든 부동 점 산술 연산자는 현재 부동 점 반올림 방향을 준수하고 정적 초기화자의 일부가 아니라면 math_errhandling에 지정된 대로 부동 점 산술 오류를 보고합니다. (이 경우 부동 점 예외가 발생 하지 않고 반올림 모드는 가장 가까운) 예를 들어 1에서 100까지 모든 숫자를 한 줄당 20개의 숫자로 인쇄하는 프로그램을 작성하려고 한다고 가정해 보겠습니다. 모듈러스 연산자를 사용하여 줄 바꿈을 수행할 위치를 결정할 수 있습니다. 아직 잠시 진술을 본 적이 없더라도 다음 프로그램은 꽤 이해할 수 있어야합니다: 감사합니다. 한 가지. 이전에 균일한 초기화를 사용하여 변수를 초기화하는 방법에 대해 말했지만 이것이 의미하는 바를 이해하지 못합니다 . 예를 보여 줄 수 있습니다. 세 연산자 모두에 대해 두 가지 산술 변환이 모두 에서 수행되고 결과 유형을 결정합니다. 특정 산술 연산의 결과를 반환합니다. C ++의 수학은 매우 간단합니다.

C++ 수학 연산은 고등학교 수학과 거의 동일한 특정 순서를 따릅니다. 예를 들어 곱셈과 분할이 덧셈과 뺄셈보다 우선합니다. 이러한 작업을 평가하는 순서는 괄호를 사용하여 변경할 수 있습니다. 포인트에 동의하세요! 나는 비록 프로그래밍을 시작했을 때 정말 감사하지 않았다, 그래서 나는 그것이 좋은 프로그래밍 관행의 일환으로이 튜토리얼에서 해결하기 위해 알렉스에 대한 좋은 주제가 될 수 있다고 생각. 어셈블리에 노출되기 전에 C ++ 코드가 적을수록 실행 명령이 적다고 생각했습니다 . 이제 더 적은 명령이 반드시 더 나은 성능 (또는 당신이 말하는 것처럼 알고리즘 및 데이터 사용량만큼 중요)과 동일하지는 않다는 것을 알고 있습니다.

0saves
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Comments are closed.