Поразрядно транспонируйте 8 байтов

Я ищу эффективный алгоритм в C к поразрядному - транспонируют 8 байтов данных. То, что я имею в виду с этим, является этим, если у меня есть 8 байтов как это:

00011100
00111000
00000001
00000000
11000000
00000000
11111111
01010101

Я хочу получить следующие 8 байтов:

00001010
00001011
01000010
11000011
11000010
10000011
00000010
00100011

И так как я хочу использовать это на встроенной платформе, это должно быть максимально быстро:-),

Все идеи очень ценятся!

15
задан Arnaud Gouder de Beauregard 11 February 2010 в 11:08
поделиться

1 ответ

Я нашел более приемлемые ответы в списке рассылки JSLint, извините об этом Boldewyn:)

Solution 1

В IE, на уровне сценария (т.е. на файл или на блок сценария), если он видит Объявление «var» во время фазы синтаксического анализа (перед выполнением) сбрасывает значение этой переменной, если она уже существовала.

Так что лучше было бы просто сделать это:

/*global foo: true */
if (typeof foo === "undefined") {
foo = "some value";
}

Не объявляя «var» и просто назначая foo, foo автоматически получит глобальный охват.

Решение 2 (особый случай)

Если явно заданная переменная не равна нулю или false

var foo = foo || "some value";
-121--2823061-

Обдумано, стоит ли размещать это в качестве ответа, так как мне обычно не нравится просто давать ссылку, но в данном случае я хотел подытожить некоторые точки и поэтому не сделал бы ничего хорошего, как комментарий!

Эта статья заслуживает прочтения, которое дает много подробностей о том, как работает отслеживание изменений и (и сбор данных об изменениях).

Для отслеживания изменений можно узнать, какие внутренние таблицы используются для отслеживания изменений с помощью:

SELECT [name] FROM sys.internal_tables
  WHERE [internal_type_desc] = 'CHANGE_TRACKING';

Важная цитата:

Таблица называется внутренняя таблица, и нет контроль над своим именем или его местонахождением сохранено.

-121--3702176-

См. Восторг хакера , глава 7-3.

21
ответ дан 1 December 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: