C++이 부호없는 이중 구문을 지원하지 않는 이유는 무엇입니까?C++에서 부호없는 double은?
답변
일반적인 부동 소수점 형식은 부호없는 숫자를 지원하지 않기 때문에. 예를 들어, this list of IEEE 754 formats을 참조하십시오.
일반적인 하드웨어에서 지원되지 않는 숫자 형식을 추가하면 컴파일러 작성자의 삶이 어려워지고 아마도 그만한 가치는없는 것으로 보입니다.
* 아이디어 *는 부동 소수점을 사용합니다. ** 무한대로의 음의 정수를 포함하여 ** 숫자가 표현 가능해야합니다. 서명되지 않은 숫자는이 목표에 역효과를 낳습니다. – unixman83
음, 아니, 그게 중요한 게 아니야. 또는 그것이 요점이면, 모든 부동 소수점 타입은 실패 할 운명입니다. 컴퓨터에서 의미있는 방식으로 나타낼 수있는 일련의 수를 계산할 수 있습니다 ... –
대부분의 부동 소수점 하드웨어가 부호없는 부동 소수점 유형을 지원하지 않으므로 C++은 부호없는 부동 소수점 유형을 지원하지 않습니다. 일부 그래픽 카드는 부호없는 부동 소수점으로 작동하지만 일반적으로 내부이거나 프로그램이나 사용자에게는 보이지 않습니다.
부호없는 정수는 추가 비트를 얻고 부호가있는 정수와 약간 다른 비트 단위 의미를 갖습니다. 부동 소수점 및 복식은 항상 (대부분의 하드웨어에서) 부호에 대해 조금 비싸지 만 비트 단위의 의미 체계가 없으므로 부호없는 실제 유형을 갖는 데 실질적인 이점은 없습니다.
이론적으로 * 가수 또는 지수에 대해이 비트를 사용할 수는 있지만 범위 나 정확도는 증가 할 수 있습니다. – Joey
음 서명되지 않은 double은 항상 검사를 계속하지 않고 항상 양의 값을 갖기를 원했습니다. 그래, 그렇습니다. – Zammbi
@ Јοеу : (늦은 응답으로 유감스럽게 생각합니다.) 예, 도움이 될 것입니다. 그러나 C++에서 부호없는 double이 부족하다는 문제가있었습니다. 하드웨어가 왜 그것을 지원하지 않는지에 관한 것이 아닙니다. 하드웨어에 대한 지원을 추가하지 않고 C++에 개념을 추가하면 아무 것도 얻을 수 없습니다. –
- 1. C에서 버퍼 (부호없는 char *) 연결
- 2. 정렬 double은 문자열로 저장됩니까?
- 3. 부호가있는 부호없는 및 부호없는 정수가
- 4. C에서 부호없는 문자 배열을 16 진수 문자열로 변환하는 방법
- 5. 부호없는 int + 문자열을 부호없는 char 벡터에 캐스팅
- 6. 'std :: pair <부호없는 int, 부호없는 int> (부호없는 int 및 부호없는 int)'에 대한 호출에 일치하지 않습니다. '
- 7. Java : 부호없는 숫자
- 8. 부호없는 int로 로그인했습니다.
- 9. jshort를 부호없는 short로 변환하십시오.
- 10. int에서 부호없는 int를
- 11. NSString을 부호없는 길이로 변환
- 12. 부호없는 부정 프리미티브?
- 13. 부호없는 문자 배열에 저장
- 14. CString을 부호없는 long으로 변환
- 15. c의 부호없는 정수
- 16. C89 : 부호있는/부호없는 불일치
- 17. C# 부호없는 int 기본값
- 18. HICON을 부호없는 길이로 변환하십시오.
- 19. C++의 부호없는 키워드
- 20. 배쉬에서 부호없는 번호를 무효로합니다.
- 21. 부호없는 연동 읽기
- 22. DWORD 및 부호없는 정수
- 23. 바이트 배열과 부호없는 long 사이의 복사
- 24. 이미지 형식과 부호없는 문자 배열
- 25. 부호없는 long long double long
- 26. 부호없는 int/long 표현 방법
- 27. 부호없는 long long division의 구현
- 28. 부호없는 문자를 사용하는 비트 연산자
- 29. 포인터 산술 & 부호있는/부호없는 변환!
- 30. VB6는 부호없는 데이터 형식을 지원합니까?
무엇을 지원합니까? 어떤 유형의 부동 소수점을 사용하는 경우 일반적으로 가정된다고 생각합니다. 그러면 부호없는 (unsigned) 사실상 절대 필요하지 않습니다. – SteelBytes
안녕하세요, 구문 구문이 수정되었습니다. –