R에 더 큰 숫자를 추가 할 때 문제가 발생합니다. 더 작은 값은 무시되고 잘못된 결과가 나타납니다.R 큰 숫자와 작은 숫자가 더 작은 값을 무시합니다.
예를 들어, 여기에있는 10 진수 변환기의 이진수 (Convert binary string to binary or decimal value)를 사용하고 있습니다.
2^(which(rev(unlist(strsplit(as.character(MyData$Index[1]), "")) == 1))-1)
[1] 1 2 32 64 256 2048 ...
나는 길이 목적을 위해 모든 수를 포함하지 않았지만,이 숫자는 합산 할 때, 그들은 진수의 정수 값을 얻을 것입니다 : 끝에서 두 번째 단계는 다음과 같습니다. 올바른 결과는 4,919,768,674,277,575,011이어야하지만 R은 4,919,768,674,277,574,656의 결과를 제공합니다. 이 숫자는 처음 5 개의 나열된 숫자의 합계 인 355만큼입니다.
정수 제한과 관련이 있다고 생각했지만 테스트 한 결과 R은 필요한 것보다 많은 수를 처리 할 수 있습니다. 여기서 다시 잘못된 결과를 굴복 내가 시도 뭔가의 예
2^64
[1] 18446744073709551616 #Correct Value
2^65
[1] 36893488147419103232 #Correct Value
2^64 + 2^65
[1] 55340232221128654858 #Correct Value
2^64 + 2^65 + 1
[1] 55340232221128654858 #Incorrect Value
많은 수의 추가의 정밀도 문제의 어떤 종류가있을 것 같다,하지만 난 수 있도록이 문제를 해결할 수있는 방법을 모른다 원하는 결과를 얻을 수 있습니다.
도움을 주시면 감사하겠습니다. 부적절한 형식이있는 경우 사과 드리며, 사이트의 첫 번째 게시물입니다.