/
과 \
의 차이점은 무엇입니까?Division of VB.NET
내 코드는 내가 사용하는 용도에 따라 매우 다른 답변을 제공합니다. 전에 두 가지를 모두 보았지만 차이점을 전혀 알지 못했습니다.
/
과 \
의 차이점은 무엇입니까?Division of VB.NET
내 코드는 내가 사용하는 용도에 따라 매우 다른 답변을 제공합니다. 전에 두 가지를 모두 보았지만 차이점을 전혀 알지 못했습니다.
숫자를 분할하는 방법은 두 가지가 있습니다. 빠른 길과 느린 길. 많은 컴파일러가 여러분을 빠른 길로 속이려고합니다. C#을,이 시도 그 중 하나입니다
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine(1/2);
Console.ReadLine();
}
}
출력 : 0
는 그 결과에 만족? 표현식의 왼쪽과 오른쪽이 정수일 때 기술적으로 정확하고 문서화 된 동작입니다. 그건 정수 구분 빠른 않습니다. (악명 높은) FDIV 명령 대신 프로세서에서 IDIV 명령. 또한 모든 중괄호 언어가 작동하는 방식과 완전히 일치합니다. 그러나 분명히 SO에서 "일어난"질문의 주요 출처입니다. 행복한 결과를 얻으려면이 같은 뭔가를해야 할 것 :
Console.WriteLine(1.0/2);
출력 : 0.5
왼쪽은 부동 소수점 부문을 강요, 이제 두 번이다. 계산기가 보여주는 결과와 함께. FDIV를 호출하는 다른 방법은 오른쪽에 부동 소수점 숫자를 지정하거나 피연산자 중 하나를 명시 적으로 (double)으로 캐스팅하는 것입니다.
VB.NET이 그런 식으로 작동하지 않습니다./연산자는 항상 형식과 관계없이 부동 소수점 나누기입니다. 때로는 실제로 을 수행하면은 정수 나누기를 원합니다. 그게 \
입니다. 위의 대한
/ Division
\ Integer Division
일부 정교 순서에있을 수 있습니다. –
10/3 = 3.333
10 \ 3 = 3 (the remainder is ignored)
10/3 = 3.33333333333333, assigned to integer = 3
10 \ 3 = 3, assigned to integer = 3
20/3 = 6.66666666666667, assigned to integer = 7
20 \ 3 = 6, assigned to integer = 6
코드 :
Dim a, b, c, d As Integer
a = 10/3
b = 10 \ 3
c = 20/3
d = 20 \ 3
Debug.WriteLine("10/3 = " & 10/3 & ", assigned to integer = " & a)
Debug.WriteLine("10 \ 3 = " & 10 \ 3 & ", assigned to integer = " & b)
Debug.WriteLine("20/3 = " & 20/3 & ", assigned to integer = " & c)
Debug.WriteLine("20 \ 3 = " & 20 \ 3 & ", assigned to integer = " & d)
재미있는 포인트. 나는 항상 VB에서 /와 \의 차이점을 이해했지만, C 언어로 데이터 유형을 지정하는 작업을 수행하고 있다는 어떤 이유로 든 내 마음을 결코 넘어서지 못했습니다. 내가 지금 돌아가서 내 번호의 끝에서 모든 D와 F를 제거 할 수있을 것 같네요. =) – AndyPerfect