값 범위를 나타내는 방법을 찾고 있는데, 0 - 18446744073709551615 8 바이트 미만을 사용합니다.적은 비트를 사용하는 부호없는 qword (64 비트)의 값 범위는 무엇입니까?
나는 할 수있는 방법을 생각하려고 노력했지만 아무 것도 작동하지 않습니다. 이론 상으로는 다음과 같습니다. 1 바이트를 사용하여 2 바이트 이상의 비트 시퀀스를 나타냅니다. 그러나 2 바이트에는 65536 개의 서로 다른 비트 조합 수가 있지만 단일 바이트는 0-255 (256 조합)의 값 범위 만 제공합니다.
아마도 가장 좋은 방법은 비트의 의미를 변경하는 것입니다. 괜찮을지라도 정밀 손실은 없습니다.
나는 그 주제에 대해 다른 사람들의 의견과 이론을 얻고 싶지만 간단히 생각하기 시작했습니다.
두 가지 규칙이 있습니다. # 1 정확도 상실이 없어야합니다. 즉, 0부터 18446744073709551615까지 숫자를 나타낼 수 있어야합니다. # 2 표준 64 비트 폼에서의 변환으로 인해 7 바이트 (56 비트) 이상이 필요하지 않습니다.
이러한 규칙은 특히 어렵습니다.
이, 당신은 완료됩니다. 63 비트는 그 중 절반 만 나타낼 수 있습니다. 63 비트 압축 된 값 모두를 압축 해제하면 64 비트 값의 절반 밖에되지 않습니다. 간단한 계산. 56 비트는 숫자의 1/256 만 나타낼 수 있습니다. 당신은 64 비트가 필요합니다. 기간. –