0

私は次のコードを持っています...

            ran_int = rand(); //check READ ME Citation B
            if (input == 32){
                //rand() with 2^31 as lower limit and 2^32 as its upper
                long long int upper_limit = 4294967295;
                long long int lower_limit = 2147483649
                ran_32_64 = (rand() * 2) % (upper_limit - lower_limit);
                ran_32_64 += lower_limit;
            }
            else if(input == 64){
                //rand() x 4 with 2^63 as lower limit and 2^64 as its upper
                unsigned long long int upper_limit = powl(2, 64);
                long long int lower_limit = powl(2, 63); 
                ran_32_64 = (rand() * 4) % (upper_limit - lower_limit); 
                ran_32_64 += lower_limit;

            }
            else if(input == 128){
                //rand() x 8 with 2^127 as lower limit
                unsigned _int128 upper_limit = 
            }

最後のブロックでは、128 ビットの 2 進数を表す必要があります。128 ビット値に _int128 型を使用できることはわかっていますが、完全に正確というわけではありません。

したがって、私は double 型を使用できる完全に正確であると考えていますが、128 ビットの double 型に関する文献は見つかりません。

何か案は?

4

1 に答える 1