2012-02-09 2 views
20

우리의 테스터 중 한 명은 슬라이더 바운드 변수를 18888888888888888로 설정하여 정상적으로 1-100 사이의 값만 취할 수 있습니다. (나는 xaml 파일에 저장되어있는 뷰 모델에서 관찰 할 수 있습니다.)이 숫자는 무엇이 특별합니까?신비한 숫자 18888888888888888

여기에 몇 가지 세부 사항이 있습니다. 응용 프로그램에는 슬라이더가 있으며, 뷰 모델에서 관찰 가능한 속성에 바인딩됩니다. 일반적으로 응용 프로그램에서 작업 영역을 저장하면이 뷰 모델은 XamlServices.Save를 사용하여 저장됩니다. 내 테스터는이 프로젝트를로드 할 때 슬라이더의 값인 -214를 나타내는 다소 어색한 행동을보고했습니다. 나는 그에게 파일을 보내달라고 부탁했다. 그리고 저장된 xaml의 가치는 나의 불가사의 한 숫자를 포함하고있다.

본인은 본인의 코드 또는 다른 라이브러리 코드의 버그로 인한 결과임을 알고 있습니다. 나는 그것을 잘게 잘 것이다. 그러나 정상적인 "가비지"값은 이와 같을 수 없습니다. 내가 구글 일 때, 나는 비 프로그래밍 관련 페이지를 보았는데, 이는 어떻게 든이 숫자가 인터넷의 역사에서 생성되었다는 것을 보여준다 (그래서 내 고양이가하는 것이 아니다). 간단히 말해서, 나는이 숫자가 처음에 INT_MAX + 1을 보았을 때처럼, 어떻게하면 충분히 인식되는지 (-2137483648 누구?)와 같이이 숫자를 어떻게 만들 수 있는지 알아 내려고합니다.

+1

테스터에게 질문 할 수 없습니까? – balexandre

+5

@KorayBalci : 다시 할 수 있니? 정말로 확실한 답이 없기 때문에 휴업입니다. 따라서 남아있는 것은 추측입니다. – Will

+1

@SLC와 Will, 내가 충분히 명확하지 않은지 나는 알지 못한다. 아마도 이것이 버그의 결과 일 것이다. 나는 repro과 디버그를 시도 할 것이다. 그러나 이것이 임의의 숫자라는 것을 알 수는 없습니다. 1과 16을 뒤 따릅니다. 그것은 버그의 부작용이 있어야하지만 어떻게 생성 될 수 있는지 궁금합니다. Google에 숫자 만 표시되고 이상한 현상이 발생합니다. 비슷한 버그 (아마도 저자의 문제를 인식하지 못하는 저자)가 발생했을 수 있습니다. 또는, 나는 재미를 위해 어색한 숫자를 트롤링하고 올리는 중입니다. 그러나 이것은 일반적인 난수가 아닙니다. 나는 분명하다. – mentat

답변

2

처음에 1이 자리 표시 자라 가정합니다. 이중에서 문자열을 표시하는 오류입니다.

16 개가 있습니다. C#의 double 유형에는 최대 16 바이트의 정밀도가 있습니다. 슬라이더 디스플레이에 8888888888888888 또는 0x1000100010001000100010001000100010001000100010001000100010001000의 가비지 이중 값 유형이 표시되고 있음을 나타낼 수 있습니다.

테스터가 double 값을 일종의 NaN 값이되게했을 수도 있습니다. (아마 NaN이 이렇게 표시됩니다.) 문자열의 길이를 설명 할 수 있습니다.

또한 슬라이더 클래스 디스플레이가 인 숫자가 인 숫자 제한 때문에 1x8888888888888888을 읽었을 가능성이 높습니다. 쓰레기 입력, 쓰레기 출력?

글쎄, 내 추측입니다.

+2

노력에 감사드립니다, 나는 그것에 대해 생각할 것입니다, 당신은 그것을 못 박았을 수도 있습니다. 이제 질문은 다시 닫힙니다. 이 모든 upvotes 및 토론 후에, 어떤 사람들은 방금 우리와 다른 사람들을 대신하여 결정했습니다 ...매우 좁은 상황에서 사람들을 보호 해 준 장교들에게 감사드립니다. iPhone에서 사운드를 재생하는 방법을 모두 알아 보겠습니다. – mentat