Excel에서 22222.09482를 입력하면 수식 표시 줄에 22222.0948199999 숫자가 표시됩니다.


28

셀에 숫자 22222.09482를 입력하면 수식 표시 줄에 다른 숫자 22222.0948199999가 표시되는 이상한 상황이 발생하므로 도움을 주시겠습니까? 아래는 문제의 스냅 샷입니다.

샘플 오류

다음 숫자를 입력해도 동일한 동작이 나타납니다.

22222.09482
33333.09482
44444.09482
55555.09482

그러나 99999.09482까지 11111.09482 및 66666.09482, 77777.09482 ..를 입력하면 올바르게 표시됩니다. 이것이 반올림과 관련이 있는지 확실하지 않습니까? 반올림 프로파일을 설정하지 않았습니다. 문제 해결에 도움을 주시겠습니까?


1
깔끔한 찾기, 저도 마찬가지 ROUND()입니까? 그냥 사용할 수 있습니까? =ROUND(A1,5)그런 다음 데이터를 값으로 복사 / 붙여 넣기하고 원래 숫자를 삭제 하시겠습니까?
BruceWayne

1
@BruceWayne, 흥미롭게도 ROUND()정확한 숫자가 표시되지만 값으로 복사 / 붙여 넣기하면 원래 문제로 돌아갑니다!
Rey Juna

1
@ReyJuna- ROUND(A1,5)붙여 넣은 값을 다시 입력하십시오. 그런 다음 값 Round()을 복사하여 붙여 넣은 다음 다시 복사하여 붙여 넣습니다. ... : P ... 흥미롭고 @EugenRieck이 추론을하는 것처럼 보입니다. 좋은 질문!
BruceWayne

1
실제로 22222.09482와 22222.0948199999의 차이점에 관심이 있습니까? 100 조에서 5 개 부품의 차이입니다.
Russell Borogove

4
부동 소수점 수학이 깨졌습니까? . 그러나 double대부분의 사람들이 예상 한대로 반올림했을 때 정확한 값을 보여줄 수있을만큼 충분한 정밀도를 가지고 있기 때문에 버그 일 가능성이 높습니다
phuclv

답변:


31

버그입니다.

다른 답변에 따르면 Excel은 일반적인 IEEE 배정 밀도 표현을 사용합니다. 정밀도는 유효 이진수 53 자리이며 대략 16 진수입니다.

처음 15 자리의 유효 십진수 를 표시하는 것은 항상 "안전"합니다 . 15 자리 숫자로 주어진 10 진수 "표시된"숫자는 15 번째 10 진수를 1 씩 변경하여 얻은 숫자와 안전하게 구별 될 수 있습니다. 예를 들어 15 자리 숫자는 다음과 같습니다.

22222.09481 99999
22222.09482 00000
22222.09482 00001

세 개의 고유 한 배정 밀도 숫자로 매핑됩니다 . 이 세 가지 중 어느 것도 배정 밀도 표현에서 "이웃"이 될 수 없습니다.

따라서 사용자 디스플레이에서 처음 두 개를 혼동하는 것은 Excel의 버그입니다.

실제로이 영역 (16384에서 32768 사이)에서 절대 정밀도는 2 -38 이며 다음 숫자를 나타낼 수 있습니다.

...
22222.09481 99998 96571 9714760780334472656250000
22222.09481 99999 00209 9502831697463989257812500 <-- the one closest to what Excel showed to the user
22222.09481 99999 03847 9290902614593505859375000
22222.09481 99999 07485 9078973531723022460937500
22222.09481 99999 11123 8867044448852539062500000
22222.09481 99999 14761 8655115365982055664062500
22222.09481 99999 18399 8443186283111572265625000
22222.09481 99999 22037 8231257200241088867187500
22222.09481 99999 25675 8019328117370605468750000
22222.09481 99999 29313 7807399034500122070312500
22222.09481 99999 32951 7595469951629638671875000
22222.09481 99999 36589 7383540868759155273437500
22222.09481 99999 40227 7171611785888671875000000
22222.09481 99999 43865 6959682703018188476562500
22222.09481 99999 47503 6747753620147705078125000
22222.09481 99999 51141 6535824537277221679687500
22222.09481 99999 54779 6323895454406738281250000
22222.09481 99999 58417 6111966371536254882812500
22222.09481 99999 62055 5900037288665771484375000
22222.09481 99999 65693 5688108205795288085937500
22222.09481 99999 69331 5476179122924804687500000
22222.09481 99999 72969 5264250040054321289062500
22222.09481 99999 76607 5052320957183837890625000
22222.09481 99999 80245 4840391874313354492187500
22222.09481 99999 83883 4628462791442871093750000
22222.09481 99999 87521 4416533708572387695312500
22222.09481 99999 91159 4204604625701904296875000
22222.09481 99999 94797 3992675542831420898437500
22222.09481 99999 98435 3780746459960937500000000 <-- the one closest to what the user types
22222.09482 00000 02073 3568817377090454101562500
22222.09482 00000 05711 3356888294219970703125000
22222.09482 00000 09349 3144959211349487304687500
22222.09482 00000 12987 2933030128479003906250000
22222.09482 00000 16625 2721101045608520507812500
22222.09482 00000 20263 2509171962738037109375000
22222.09482 00000 23901 2297242879867553710937500
22222.09482 00000 27539 2085313796997070312500000
22222.09482 00000 31177 1873384714126586914062500
22222.09482 00000 34815 1661455631256103515625000
22222.09482 00000 38453 1449526548385620117187500
22222.09482 00000 42091 1237597465515136718750000
22222.09482 00000 45729 1025668382644653320312500
22222.09482 00000 49367 0813739299774169921875000
22222.09482 00000 53005 0601810216903686523437500
22222.09482 00000 56643 0389881134033203125000000
22222.09482 00000 60281 0177952051162719726562500
22222.09482 00000 63918 9966022968292236328125000
22222.09482 00000 67556 9754093885421752929687500
22222.09482 00000 71194 9542164802551269531250000
22222.09482 00000 74832 9330235719680786132812500
22222.09482 00000 78470 9118306636810302734375000
22222.09482 00000 82108 8906377553939819335937500
22222.09482 00000 85746 8694448471069335937500000
22222.09482 00000 89384 8482519388198852539062500
22222.09482 00000 93022 8270590305328369140625000
22222.09482 00000 96660 8058661222457885742187500
22222.09482 00001 00298 7846732139587402343750000
...

더 자세히 설명하려면 22222.09482한 셀에 입력 하고 다른 셀에 22222.0948199999(5 개의 후행 9)를 입력하십시오 . Excel은 위의 화살표로 표시된 두 IEEE 대표를 선택해야합니다. 그리고 나는이 두 세포의 차이를 계산할 수 있기 때문에 그렇게 생각합니다 9.82254E-11. 그러나 둘 다 같은 방식으로 표시됩니다.

Excel에서 처음 17 자리를표시 한 경우 정확히 10 진수 아래에있는 IEEE 숫자를 선택하는 것이 도움이됩니다. 이 경우 :

22222.0948199999 --> 22222.09481 99999 00
22222.09482      --> 22222.09481 99999 98

그러나 잘못된 방식으로 15 자리 숫자를 반올림하면 오도되고 도움이되지 않습니다.


누군가 의도적이라고 주장하기 전에 왜 8.7같은 행동을 보이지 않습니까? 가장 가까운 배정 밀도 숫자 8.7는 다음과 같습니다.

8.69999999999999 93

8.69999999999999마치 의도적 인 것처럼 보여야합니다 . 그러나 그렇지 않습니다.


9
네 말이 맞아, 버그 야 소수의 유효 자릿수를 표시하는 이진 부동 소수점 숫자를 변환하는 알고리즘은 어렵지만 알려져 있습니다. 누군가가 중요한 세부 사항을 놓친 것 같습니다.
Mark Ransom

2
@Ruslan 나는 부동 소수점 산술, 스택 오버플로 및 기타 SE 사이트에서 많은 스레드를 보았으며 종종 사람들은 실제 숫자와 관련없이 (이진) 부동 소수점에 대한 모든 종류의 일반적인 진실과 개념으로 대답합니다. 동작이 IEEE와 호환되는지를 검증하는 단계. "왜 2.1 + 2.2돌아 오는가 4.80000001?"라는 질문을 게시 할 수 있다고 생각합니다. 부동 소수점을 사용할 때 예상해야 할 많은 답변을 얻습니다.
Jeppe Stig Nielsen

1
@benshepherd : LibreOffice 스크린 샷은 Excel 스크린 샷의 내용을 보여주지 않습니다
Thomas Weller

1
@JeppeStigNielsen : 2.1 + 2.2 = 4.8? 0.5에 불과합니다. 정상입니다.
Thomas Weller

@ MarkRansom : 그렇다면 Excel은 실제로 그 자체를 구현합니까? Excel은 C ++ 또는 부동 소수점 계산으로 구현되지 않았습니까? 그게 니가 말하는거야? 아니면 C ++의 버그가 이미 수백만 개의 응용 프로그램에 영향을 줍니까?
Thomas Weller

22

Excel은 IEEE 754 이진 64 비트 부동 소수점 형식으로 숫자를 저장 합니다. 키는 "저장소"입니다. 실제 계산에 사용될 때뿐만 아니라 숫자가 저장 될 때마다 10 진수에서 2 진수로 변경됩니다.

이것에 대한 좋은 기사는 부동 소수점 정밀도 이해 에 관한 것입니다. "엑셀이 왜 틀린 대답을합니까?"

유효 숫자가 많은 큰 숫자를 처리 할 수있는 스프레드 시트 프로그램을 만들 수 있습니다. 그러나 그것은 실용적이지 않습니다. Excel IEEE 754 decimal128 형식 을 사용하도록 설계되었으므로 22222.09482 를 저장하기에 충분한 34 자릿수를 허용합니다. 그러나 대신 16 비트 미만인 53 비트 정밀도를 갖는 훨씬 일반적인 바이너리 64 배정 밀도 형식을 사용합니다 . 10 자리 숫자 만있는 숫자에는 충분하다고 생각할 수 있지만 10 진수에서 2 진수로 변환하면 비트가 복잡해집니다. 즉, 2222209482는 바이너리 64 숫자로 100 % 정확하게 저장할 수 있지만 22222.09482는 불가능합니다.

있다는 사실을 숙지 일반적으로 스프레드 시트는 일반적으로, 또는 정밀도의 많은 숫자를 필요로하지 않는 금융 데이터에 사용되는 "만약에"정밀의 슈퍼 높은 수준이 필요하지 않은 시나리오의 다양한 모델링. 기본적으로 또는 특수 구성 설정으로 더 큰 숫자 형식을 사용할 수 있지만 Excel은 그 중 하나가 아닌 다른 도구 (및 아마도 다른 스프레드 시트 프로그램이지만 최근에는 검색하지 않았습니다)가 있습니다.

LibreOffice이 (가) 이것을 더 잘 처리한다고 지적하는 사람들에게는 외모가 속일 수 있습니다. 자세한 내용은이 게시물 을 참조하십시오. LibreOffice은 (는) 큰 숫자를 약간 다르게 처리하지만 비슷한 문제가있는 동일한 기본 64 비트 부동 소수점 표현을 가지고있는 것 같습니다.


3
OP의 예에서 11111.09482와 같이 소수가있는 일부 숫자가 정확하게 입력 된 것으로 표시되는 관찰을 설명하면이 대답이 더 좋습니다.
앤드류

11
그냥 재미를 위해 : 22222.09482로 저장됩니다 1.0101101100111000011000010001100001111110011111000000₂ * 2₁₀^(10000001101₂ - 1023₁₀)정확히 IEEE 754에서, 또는 다른 말로 1.35632902954101553 * 2^1422222.0948199999984353787904.
YoYoYonnY

1
Binary64 (일명 배정도) 10 진수 10 진수로 충분합니다. 물론이를 정확하게 나타낼 수 없지만, 대부분의 번호를 포함 0.2하고 0.1정확하게 표시되지 않을 수 (비율 1/5 (1/5) 이진 확장 무한 반복을 갖는다). 그러나 Excel은 상황을 혼란스럽게 보여줍니다.
Jeppe Stig Nielsen

2
"일반적으로 스프레드 시트는 재무 데이터에 사용되며 일반적으로 너무 많은 자릿수를 요구하지 않습니다"-일반적으로 매우 잘못됨-재무 데이터는 "사용자가 입력 한 내용이 그대로 유지됩니다"라는 의미에서 정확한 동작을 요구합니다. ", 10 진수 / 이진수 변환 등이 맞지만이 특정 인수는 유효하지 않습니다! 금융 데이터의 경우 우리는 일반적으로 어떤 종류의 사용 Money또는 BigInteger자주 사용하는 형식, 소수점 저장 형식을.
혼자 지덱

4
이 답변은 어떤 일이 발생하는지 설명하기에 충분하지 않습니다. Excel에서 숫자의 형식이 잘못된 버그가 발견되었습니다 . 22222.09482 및 22222.0948199999는 고유 한 이진 64 숫자입니다.
Ruslan

11

계산을 수행 할 때 Excel은 사용하는 숫자에 대한 내부 이진 표현을 찾아야합니다. 귀하의 경우 부동 소수점 숫자를 사용하며 실제로이 데이터 형식에는 숫자에 대한 (매우 좋은) 근사가 있지만 정확히 일치하지는 않습니다. 따라서 사용할 출력 형식을 Excel에 명시 적으로 알리지 않으면 "최선의 노력"을 수행하여 내부적으로 계산 된 값에 더 가깝지만 입력 한 텍스트가 아닌 출력이됩니다.

이해하기 쉽게, 입력 한 텍스트는 숫자를 나타내며 일련의 숫자를 숫자로 변환하면 이미 위에서 "계산"의 정의를 충족한다는 것입니다.

편집하다

64 비트 부동 소수점 표현을 실제로 사용하는 것이 좋습니다. 큰 영향을 미쳤지 만 회계사들은 처리 속도가 수백만 배나 감소하여 절대 사용하지 않는 숫자로 나타날 수있는 부정확 한 계산 소스를 수용하기를 원하지 않습니다.

스프레드 시트 프로그램을 설계 한 용도로 사용하고 명시 적 출력 형식을 사용하여 해당 효과가 가시 영역에 들어 가지 않도록한다면 괜찮을 것입니다.


1
의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
DavidPostill

1
이 답변은 어떤 일이 발생하는지 설명하기에 충분하지 않습니다. Excel에서 숫자 형식이 잘못된 버그가 발견되었습니다. 22222.09482 및 22222.0948199999는 고유 한 이진 64 숫자입니다.
Ruslan

2

99999.09482까지 11111.09482 및 66666.09482, 77777.09482 ..를 입력하면 올바르게 표시됩니다. 이것이 반올림과 관련이 있는지 확실하지 않습니까? 반올림 프로파일을 설정하지 않았습니다. 문제 해결에 도움을 주시겠습니까?

일부 숫자는 올바르게 표시되고 일부는 표시되지 않습니다.

표시된 정밀도를 계산에 적절하게 설정하고 round () 함수를 사용하십시오 .

  • 설명:

  • 해결책:

    숫자 형식을 데이터에 적용하기 전에 표시된대로 정밀도 옵션을 설정하여 부동 소수점 반올림 오류가 작업에 영향을주는 것을 자주 방지 할 수 있습니다. 이 옵션을 사용하면 워크 시트의 각 숫자 값이 워크 시트에 표시된 정밀도로 설정됩니다.

    1. 파일> 옵션을 클릭하십시오.
      Excel 2007의 경우 : Microsoft Office 단추 Office 단추 이미지를 클릭 한 다음 Excel 옵션을 클릭하십시오.
      버튼 이미지

    2. 고급을 클릭 한 다음이 통합 문서를 계산할 때 표시된 정밀도 설정 확인란을 선택한 다음 확인을 클릭합니다.

    3. 확인을 클릭하십시오.

    4. 워크 시트에서 서식을 지정할 셀을 선택하십시오.

    5. 홈 탭에서 숫자 옆의 대화 상자 실행기 단추 이미지를 클릭하십시오.
      실행기 버튼 이미지
      엑셀 리본 이미지

    6. 범주 상자에서 숫자를 클릭하십시오.

    7. 소수 자릿수 상자에 표시하려는 소수 자릿수를 입력하십시오.

    팁 : 부동 소수점 산술 저장 부정확의 영향을 최소화하기 위해 ROUND 함수를 사용하여 계산에 필요한 소수 자릿수로 숫자를 반올림 할 수도 있습니다.

  • 회계 저널- " Excel의 계산 오류로 버그가 발생했습니다 ":

    특정 홀수는 반복 이진수를 생성하고, 15 자리 이후에 반복 숫자가 잘 리면 이진수는 의도 한 숫자 값으로 정확하게 다시 변환되지 않습니다. 예를 들어 Excel의 모든 버전에서 수식 22.26-21.29는 0.97을 산출하지만 대신 0.970000000000002를 산출합니다. 그것을 시도하고 계산 문제를 볼 수 있도록 열 너비와 소수점 이하 자릿수를 늘리는 것을 잊지 마십시오.

    이러한 오류는 의미있는 계산 오류가 거의 나타나지 않기 때문에 일반적으로 중요하지 않거나 중요하지 않은 것으로 간주됩니다. 그럼에도 불구하고 잠재적 인 부동 소수점 오류를 제거하기 위해 취할 수있는 두 가지 조치는 다음과 같습니다.

    1. 라운드 기능. Excel의 ROUND 함수를 사용하여 계산 된 값을 원하는 소수점 이하 자릿수로 반올림하여 15 자리 이상이 발생할 가능성을 제거합니다. 예를 들어 수식 = ROUND (-21.29 + 22.26,2)는 정확하게 0.97을 산출합니다.

    2. 정도. 표시되는 숫자를 기준으로 계산 된 값을 모든 수식에서 자르고 반올림하도록 Excel의 정밀도를 표시 옵션으로 설정할 수 있습니다.

    Excel 2013, 2010 및 2007에서이 옵션을 설정하려면 파일 (또는 Office Orb), 옵션 (또는 Excel 옵션), 고급을 선택하고이 통합 문서를 계산할 때 섹션에서 표시된 정밀도 설정 상자를 확인하고 그런 다음 확인을 클릭하십시오.

    Excel 2003, 2002 및 2000의 도구 메뉴에서 옵션을 선택하고 계산 탭의 통합 문서 옵션에서 표시된대로 정밀도 확인란을 선택한 다음 확인을 클릭합니다.


1
설명과 관련이 없습니다. 예상 수치와 획득 수치의 차이는 28 ULP입니다. 자연 반올림 오차로는 너무 큽니다. "솔루션"은 실제 버그를 숨 깁니다.
Ruslan

댓글 대신 자신의 답변으로 답변을 지원하는 몇 가지 링크와 함께 게시 할 수 있다면 좋을 것입니다. 그렇게하면 user954171의 관심을 끌 수 있고 사람들은 그것에 투표 할 수 있습니다. 버그 보고서에 대한 링크를 제공 할 수 있습니까?
Rob

모든 관련 수학 세부 사항에 대한 답변 이 이미 있습니다 . 그래도 버그에 대해서는 Dunno가보고합니다.
Ruslan

0

잘 아시다시피, 컴퓨터는 내부적으로 0과 1 (일명 비트) 만 사용하며 값을 나타내는 고정 된 수의 비트를 갖습니다 (일반적으로 오늘날 64 비트). 이는 표현할 수있는 다른 값의 수가 2의 64 승임을 의미합니다. 그것은 엄청난 수이지만, 가능한 값 의 는 유한하기 때문에 모든 숫자를 표현할 수는 없습니다. 그것이 정확히 나타낼 수없는 수를 발견하면 자동으로이있는 가장 가까운 사람에 의해 대체됩니다 수 있습니다 나타냅니다. 그것이 당신이보고있는 것입니다.


숫자 기반 변환 때문이거나 값당 메모리 양이 제한되어 있다고 말하고 있습니까? 두 경우 모두, 당신의 추론이 잘못되었습니다. 기술적으로 무한 메모리를 가정하면 임의의 정밀도와 임의의 길이를 가질 수 있습니다. 예를 들어 GNU bignum이 있습니다. 또한 손실 형식으로 숫자를 인코딩 할 필요가 없습니다. 따라서 컴퓨터 과학도 잘못이 아니고 이진수도 아닙니다. wrt 사용자 입력이 손실되는 숫자 인코딩을 선택한 것은 Excel 개발자 만입니다.
phresnel

-1

컴퓨터는 이진법으로 수학을 수행하며 정수가 아닌 값에는 거의 항상 부동 소수점을 사용합니다. 부동 소수점으로 정확하게 표현 될 수있는 유일한 분수 값은 2 (1/2, 1/4, 1/8, 1/16, 1/32, ...)로 끝나는 분수의 일부 조합의 합이어야합니다. 설계된 정밀 한계 (보통 53 비트) 이 값이 항상 10 진수로 단정하거나 정확하게 표현되는 것은 아니며, 정확히 10 진수로 표현할 수있는 모든 분수 값이 2 진수로 정확하게 표현되는 것은 아닙니다. 예를 들어 0.1입니다. 영원히 지속되지 않는 2의 분수 제곱의 합으로 표현할 수 없습니다.

스프레드 시트에 10 진수 값을 입력하면이 값이 이진수로 변환되어 저장되며 설명과 같은 경우는 이진수로 표현할 수있는 가장 가까운 근사값이됩니다. 표시되면 다시 10 진수로 변환되고 근사값이 다시 필요하므로 입력 한 것과 정확히 동일한 표현으로 다시 변환되지 않을 수 있습니다.

왜 53 비트 (주거나 가져 오기)입니까? "이중 정밀도"부동 소수점을 저장하기위한 일반적인 표준은 64 비트를 사용하는데, 여기에는 가수 (significand라고도 함), 부호 표시기 및 지수가 있습니다. 지수는 일반적으로 10 비트가 할당되고 부호는 1을 취하고 가수는 53을 남깁니다. 저장 용입니다. 계산은 일반적으로 80 비트와 반올림을 사용하여 수행됩니다.

반올림 아티팩트가 허용되지 않는 화폐 값으로 작업 할 때 컴퓨터가 기본 10에서 작동하는 상황이 있습니다.


2
담요 모든 컴퓨터 진술에 동의하지 않습니다 . 저장 및 계산에 10 진수 형식을 사용하는 박물관 조각을 제외하고는 더 이상 사용하지 않는 컴퓨터가 많았습니다. BCD (Binary Coded Decimal)는 인텔 CPU의 사용 제한을 포함하여 여러 최신 CPU에 사용됩니다. 그 중 어느 것도 당면한 질문과 관련이 없습니다. Microsoft Excel에서 숫자를 저장하는 데 사용하는 방법은 모두 이진입니다. 그러나 "모든 컴퓨터"가 올바르지 않습니다.
manassehkatz-Reinstate Monica 1

"모든 컴퓨터"에서 "컴퓨터"로 변경되는 것을 볼 수 있습니다. "거의 모든 컴퓨터"또는 "가장 현대 컴퓨터"또는 이와 유사한 것으로 갈 것입니다. 알아요-까다 롭습니다 그러나 컴퓨터도
마찬가지입니다

@manassehkatz 모든 디지털 컴퓨터는 기본적으로 이진입니다. BCD는 10 진수 산술을 용이하게하기 위해 이진 위에 10 진법입니다.
Zenilogix

모든 디지털 컴퓨터는 기본적으로 이진이지만 초기에는 소수를 기반으로 한 몇 가지가 실제로있었습니다. 그러나 BCD는 본질적으로 10 진수 산술을 용이하게하기 위해 바이너리 위에 기본 10 구조라는 것에 동의합니다.
manassehkatz-Reinstate Monica

이 답변은 마치 컴퓨터의 결함 인 것처럼 들립니다. 그러나 그렇지 않습니다. 종이에 쓸 수있는 숫자를 정확하게 표현할 수 있습니다 (예를 들어 분수로 저장하는 경우 1/3을 정확하게 표현 하시겠습니까?). Excel 작성자 숫자를 나타 내기 위해 선택한 표현에 관한 것 입니다.
phresnel

-1

위의 많은 사람들이 말했듯이 이것은 내부 표현 오류입니다. Excel은 배정도 64 비트 부동 소수점 숫자를 선택했습니다. 이것은 2 64 가능한 값을 제공 합니다. 실수 도메인에는 무한한 값이 포함되어 있으므로 Excel로 나타낼 수없는 값을 사용하려고하면 가장 가까운 값을 사용하게됩니다.

무한 메모리가 주어지면 어떤 실수라도 표현할 수 있다고 말하는 의견을 보았습니다. 사실, 그러나 "무한 메모리"와 같은 것은 없기 때문에 이것이 요점입니다. 다른 사람들은 Excel이 더 큰 내부 표현 (예 : 128 비트)을 사용할 수 있다고 언급했습니다. 그러나 컴퓨터가 프로세서의 버스 크기와 일치하는 비트 수로 표현 된 숫자에 대해 수학적 연산을 수행하는 것이 더 나은 것으로 나타났습니다. 따라서 32 비트 컴퓨터는 32 비트 숫자에서 수학 연산이 가장 빠르며 64 비트 컴퓨터는 64 비트 숫자에서 수학 연산이 가장 빠릅니다. 128 비트 컴퓨터가있을 경우 Excel에서 128 비트 숫자 표현으로 이동할 것으로 예상 할 수 있습니다. 그것은 여전히 ​​표현 될 수있는 매우 크지 만 제한된 숫자 세트를 제공 할 것입니다.

스프레드 시트에서 숫자가 어떻게 보이는지에 대한 우려가 있다면 설정된 정밀도 (소수)를 사용하면 일관된 결과를 얻을 수 있습니다. 입력 한 숫자와 Excel에 저장된 실제 숫자의 차이에 대해 우려하는 경우 우려 할 수 있습니다. 차이점은 실제이며 오류는 계산을 통해 수행됩니다. 이 오류가 발생하는 것이 두렵습니다. 이것은 Excel의 제한 사항이며 일부 버그는 버그가 아닙니다. 조만간 변경 될 가능성이 없으므로 수용 할 수없는 경우 더 높은 정밀도로 숫자를 나타낼 수있는 다른 스프레드 시트 응용 프로그램을 찾는 것이 좋습니다. 그러나 이러한 응용 프로그램을 찾으면 여전히 한계가 있음을 명심하십시오. 오류의 크기가 다릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.