문제

나는 이것을하는 법을 잊어 버렸습니다.특정 알파벳을 사용하여 128 비트 문자열에 대한 요구 사항은 어떻게 알 수 있습니까?

알파벳에 대한 10 개의 숫자 만 사용하여 UUID (128 비트) 값을 생성하고 싶습니다.얼마나 많은 숫자가 필요합니까, 그리고 일반적인 방정식은 무엇입니까? 그래서 어떤 크기의 알파벳에 대해서는 이것을 알아낼 수 있습니까?

어떤 x 문자 알파벳으로 n 비트 값의 방정식 란 무엇입니까?

내가하는 방식은 내가 가까운 번호로 도착할 때까지 추측하고 천천히 반복하는 것입니다.10의 힘을 위해 쉽습니다 :

Math.pow(2, 128)
3.402823669209385e+38
Math.pow(10, 39)
1e+39
.

다른 숫자는 조금 더 추측합니다.이 방정식을 알고 싶습니다.

도움이 되었습니까?

해결책

$ 128 $ 비트 번호를 나타내는 데 필요한 소수 자릿수의 수를 $ 10 $ :

$ 128 \ times \ log_ {10} (2) \ 38.53 $

$ 39 $ 소수 자릿수가 필요합니다. $ 128 $ 비트 번호를 나타냅니다.

$ n $ 기호가있는 "알파벳"의 경우 $ 128의 값을 찾아야합니다.Times \ log_n (2) $ 을 다음 전체 번호로 둥글게합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top