Post
Topic
Board Кодеры
Merits 1 from 1 user
Topic OP
diff_to_bits
by
Perp
on 24/09/2020, 20:35:36 UTC
⭐ Merited by klarki (1)
Помогите пожалуйста.

Как преобразовать этот код  для лайткоинa?

Для биткоина это выглядит так:

static uint8_t diff_to_bits(double diff)
{
   uint64_t diff64;
   uint8_t i;

   diff /= 0.9999847412109375;
   diff *= (double)2147483648.0;
   if (diff > 0x8000000000000000ULL)
      diff = 0x8000000000000000ULL;
   /* Convert it to an integer */
   diff64 = diff;
   for (i = 0; diff64; i++, diff64 >>= 1);

   return i;
}

static double bits_to_diff(uint8_t bits)
{
   double ret = 1.0;

   if (likely(bits > 16))
      ret *= 1ull << (bits - 16);
   else if (unlikely(bits < 16))
      ret /= 1ull << (16 - bits);
       applog(LOG_INFO, "ret=\n",ret);

   return ret;
}

Спасибо!