Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Читаю книгу Короткевича Pro SQL Server Internals, там написано что "SQL Server stores the data in byte-swapped order. For example, a two-byte value of 0001 would be stored as 0100". Ну и далее аналогичный пример с числом 0800 - "this is the byte-swapped value of 0008". Расшифруйте пожалуйста что значит byte-swapped order, и как получаются приведения чисел в примерах выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 14:39 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4, переставляет байты справа на лево 00 01-> 01 00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 14:41 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4, Скажем так -- это вообще стандартный способ хранения чисел для компьютера. http://khpi-iip.mipk.kharkiv.edu/library/datastr/book/prt02.html Формат машинного представления чисел типа INTEGER приведен на рис 2.3. б). Например: 1). +32765: 11111101 01111111; 2). -32765: 00000011 10000000; 3). -47: 11010001 11111111. Машинное представление границ диапазона допустимых значений: 4). -32768: 00000000 10000000; 5). 32767: 11111111 01111111. Формат машинного представления чисел типа LONGINT приведен на рис 2.3. в). Например, представление чисел в формате longint: 1). +89 01011001 00000000 00000000 00000000; 2). -89 10100111 11111111 11111111 11111111. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 14:58 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
a_voronin, авторСкажем так -- это вообще стандартный способ хранения чисел для компьютера. а букв? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:02 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
a_voroninСкажем так -- это вообще стандартный способ хранения чисел для компьютера. На little-endian платформах. Есть ещё big-endian, но они редки и MS SQL на них не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:09 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
TaPaKa_voronin, авторСкажем так -- это вообще стандартный способ хранения чисел для компьютера. а букв? А причем тут буквы? Просто сложение и вычитание проще делать когда сложил 2 байта (1+1) сдвинулся вправо запоминая флаг переноса и так далее. если вы хотите понять глубину вопроса изучите команду ADC в Ассемблере или загляните вот сюда https://www.experts-exchange.com/questions/22395808/Assembly-language-to-add-two-100-digit-long-numbers-and-count-of-the-ones-in-each-one-of-the-two-numbers.html Хотя сейчас во времена GPU все может уже быть по другому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:14 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Есть ещё DECIMAL формат, где две десятичные цифры уложены 1 байт. 1 байт 00:99 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:17 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:48 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :) FF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:50 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :) imho: FF шестнадцетиричная система = 256 десятичная = 1 байт в книге шестнадцетиричную используют видимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:53 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:57 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ... а 2 соседних байта по вашему должны быть 8 18? или 88? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 16:00 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
TaPaK, а, это для соседей. Понятно, пасиб) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 16:04 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4, у Intel это так принято, машинное слово хранится и читается по возрастанию адресации в памяти задом наперед: младший байт, старший байт. Для процессоров Motorola использовался старший-младший big-endian. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 17:18 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ...Когда программисты говорят про байты, у них в голове всегда шестнадцатеричное представление (как у обычных людей десятичное). Поэтому когда я вижу 0000 или 0101, то само собой, что это записаны 2-х байтные последовательности. В старые времена было ещё восмеричное представление, но это давно ушло, последние лет 30 16-ричное представление победило a_voroninСкажем так -- это вообще стандартный способ хранения чисел для компьютера.Лучше сказать "стандартный способ хранения чисел для процессоров Intel" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 17:30 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Задом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 17:46 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему. Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 14:31 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВладислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему. Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления. Для сравнение не согласен -- удобно наоборот. Для деления -- согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 14:39 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
a_voroninDimitry SibiryakovВладислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему. Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления. Для сравнение не согласен -- удобно наоборот. Для деления -- согласен.По моему, это просто традиция. Было бы "так" удобнее - не было бы систем, в которых "наоборот". Возможно, так было удобно в 4х и 8ми битных процессорах, чтобы программно работать с большими числами, а сейчас то что? Уже как 30 лет слово складывается или сравнивается прямым прохождением сигнала по цепям ALU, и неважно, как там расположены его биты, можно, например, вначале расположить чётные, в конце нечётные биты, ничего не изменится, кроме цепей в ALU. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 16:35 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, это было удобно для загрузки регистров CPU 80-90х годов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 16:41 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
alexeyvg, но это давно ушло ----- В любом месте где сохранились DEC-системы - вполне читают в восьмеричном... Оно там и правильно - COp, 8 регистров, 8 методов адресации - читай код напрямую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 18:46 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4, Найди книжку по форматам хранения в PL/1 - там все будет разжевано... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 18:48 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, это было удобно для загрузки регистров CPU 80-90х годов. ----- На это было пофиг на машинах с 8-ми битными шинами - все одно два цикла шины. Но тогда выбрали загружать первым младшее слово - было без разницы какое первым. С переходом на 16-ти битную шину это уже стало глупостью, но продолжало поддерживаться из-за кода, который ожидал данные в этом виде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 18:56 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. авторНайди книжку по форматам хранения в PL/1 - там все будет разжевано... Пока не очень получается найти. Если кто знает еще хорошие материалы по теме (можно и более широко - про ОС, архитектуру), был бы признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2018, 11:42 |
|
||
|
принцип хранения данных (byte-swapped)
|
|||
|---|---|---|---|
|
#18+
Pasha4Спасибо всем. авторНайди книжку по форматам хранения в PL/1 - там все будет разжевано... Пока не очень получается найти. Если кто знает еще хорошие материалы по теме (можно и более широко - про ОС, архитектуру), был бы признателен. Как я говорил выше Assembler X86 команды ADD SUB MUL DIV IMUL IDIV ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2018, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39736865&tid=1688715]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 406ms |

| 0 / 0 |
