Обновить
9

Пользователь

24
Подписчики
Отправить сообщение

ну таки ж да.

И каким же образом они «беруться» из воздуха? Блоки майнятся каждые 10 минут, это 4320 блоков в месяц. Награда за блок — 12.5 BTC, т.е. совокупная эмиссия биткоина в месяц составляет 54 000 BTC.

Но вот только общий оборот биткоина на биржах составляет 451 754 BTC в день, что дает в месяц цифру порядка 10 864 500 BTC, в 201 раз больше объема эмиссии. Если это только майнеры сливают лохам свои «напечатанные из воздуха» биткоины, то откуда взялись остальные 77.5 млрд долларов месячного оборота?
Если купить не проблема, то и продать не проблема — они ведь из воздуха не берутся, раз получилось купить, значит, кто-то продал.
«Пузырь криптовалют», «МММ»… непредвзятость так и брызжет. А еще то, что приватные ключи заведенных кошельков остаются у владельца киоска, да и комиссия «всего-то 4%».
об асфальт больно :(

нативно — пока еще нет, а в виде расширений давно. Но учитывая, как оно работает в браузерах (в том же хроме), то нет оснований предполагать, что реализация в node.js будет существенно отличаться по своей сути.

Что значит "только один стек вызовов на процесс"? Во-первых, многопоточность — у каждого потока свой стек вызовов и свой event loop. Во-вторых, генераторы и async-функции, которые сохраняют свой call stack между вызовами.

Нет, каждый активный инстанс WebWorker является отдельным нативным потоком со своим event loop.

Это base64url, https://tools.ietf.org/html/rfc7515#appendix-C, правда легче от этого не становится — внутри все равно шифрованная белиберда.

т.е. еще раз написать emscripten, верно? :)

Строки выходят за спецификацию asm.js, поэтому работать будет, но еле дыша, т.к. не пройдет валидацию.

В XIX веке это лучше делать с помощью современных технологий — так будет проще для всех.

Достаточно продвинутые решения как для 1800 годов.

Собственно, SerafimArts выше написал кратчайший возможный вариант — x|0, эквивалентный касту в int32. Поэтому rot32(1, -1)|0 === -2147483648.

Может, я неправильно понял задачу, или плюсы отличаются от ansi C в плане битовых сдвигов?


function rot32(x, s) {
  s %= 32;
  return (x>>>32-s|x<<s)>>>0;
}

const x = 0b11000100101000111001110010110010;

console.log(
    rot32(x, 10) === 0b10001110011100101100101100010010,
    rot32(x, -10) === 0b00101100101100010010100011100111,
)

#include <stdio.h>
#include <stdlib.h>

uint32_t rot32(uint32_t x, short s) {
    s %= 32;
    return ((x>>(32-s))|(x<<s));
}

int main(int argc, char *argv[]) {
    assert(rot32(0b11000100101000111001110010110010U, 10)
              == 0b10001110011100101100101100010010U);
    assert(rot32(0b11000100101000111001110010110010U, -10)
              == 0b00101100101100010010100011100111U)
}

Для uint64 сделать можно, но очень неэффективно из-за ограничения в 53 бита на мантиссу в js.

Боюсь, что короче, чем Int8Array.of, уже не сделаешь, давайте следующую загадку.

А я и не про JS. Ваша некомпетентность не ограничена такими скромными границами, она всеобъемлюща.

кхе кхе asm.js кхе кхе webassembly кхе кхе

Ваши загадки на JS, кстати, решаются следующим образом (спасибо спецификации asm.js):


const x = -6;
const y = 4;
const z = x / y | 0;  // -1

const F = Math.fround;
const x = F(F(1.0) / F(3.0));
const y = 1.0 / 3.0;
const z = y - x;  // -9.934107481068821e-9

А вот задор автора энтой поделки заставляет вспомнить про эффект Даннинга-Крюгера — вопиющая некомпетентность не позволяет ему осознать очевидные проблемы.

И в чем она заключается, раз понимаете?

Несомненно, отсутствующий код — самый чистый.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Архитектор программного обеспечения