powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / принцип хранения данных (byte-swapped)
25 сообщений из 25, страница 1 из 1
принцип хранения данных (byte-swapped)
    #39736834
Pasha4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читаю книгу Короткевича 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, и как получаются приведения чисел в примерах выше.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736838
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4,

переставляет байты справа на лево 00 01-> 01 00
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736857
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736865
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,
авторСкажем так -- это вообще стандартный способ хранения чисел для компьютера.

а букв?
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736875
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninСкажем так -- это вообще стандартный способ хранения чисел для компьютера.
На little-endian платформах. Есть ещё big-endian, но они редки и MS SQL на них не работает.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736878
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 все может уже быть по другому
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736881
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,



Есть ещё DECIMAL формат, где две десятичные цифры уложены 1 байт. 1 байт 00:99
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736914
Pasha4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :)
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736918
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :)
FF?
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736926
архивариус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4TaPaK, да, я заметил что переставление. Но не понял, что 0001 - это два байта. Думал это четыре бита, которые при записи в двухбайтовую ячейку памяти как-то "переворачиваются". Так почему байт так пишется (как два символа) ? Там же должно быть 16 :)
imho:
FF шестнадцетиричная система = 256 десятичная = 1 байт
в книге шестнадцетиричную используют видимо
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736935
Pasha4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ...
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736939
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ...
а 2 соседних байта по вашему должны быть 8 18? или 88?
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39736944
Pasha4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, а, это для соседей. Понятно, пасиб)
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737006
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4,

у Intel это так принято, машинное слово хранится и читается по возрастанию адресации в памяти задом наперед: младший байт, старший байт. Для процессоров Motorola использовался старший-младший big-endian.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737017
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4TaPaK, да не) просто имел в виду почему байт пишется как 00, или 01, или 08 и т.п., а не 1 (байт), 8, ...Когда программисты говорят про байты, у них в голове всегда шестнадцатеричное представление (как у обычных людей десятичное). Поэтому когда я вижу 0000 или 0101, то само собой, что это записаны 2-х байтные последовательности.

В старые времена было ещё восмеричное представление, но это давно ушло, последние лет 30 16-ричное представление победило
a_voroninСкажем так -- это вообще стандартный способ хранения чисел для компьютера.Лучше сказать "стандартный способ хранения чисел для процессоров Intel"
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737032
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему.
Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737505
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВладислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему.
Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления.

Для сравнение не согласен -- удобно наоборот. Для деления -- согласен.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737606
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninDimitry SibiryakovВладислав КолосовЗадом наперед - с точки зрения человека, для машины как раз "удобно", от младшего к старшему.

Не всегда. Это удобно для сложения и умножения, но неудобно для сравнения и деления.

Для сравнение не согласен -- удобно наоборот. Для деления -- согласен.По моему, это просто традиция. Было бы "так" удобнее - не было бы систем, в которых "наоборот".
Возможно, так было удобно в 4х и 8ми битных процессорах, чтобы программно работать с большими числами, а сейчас то что?
Уже как 30 лет слово складывается или сравнивается прямым прохождением сигнала по цепям ALU, и неважно, как там расположены его биты, можно, например, вначале расположить чётные, в конце нечётные биты, ничего не изменится, кроме цепей в ALU.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737614
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

это было удобно для загрузки регистров CPU 80-90х годов.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737699
PinkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

но это давно ушло
-----
​В любом месте где сохранились DEC-системы - вполне читают в восьмеричном...
Оно там и правильно - COp, 8 регистров, 8 методов адресации - читай код напрямую...
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737701
PinkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4,

Найди книжку по форматам хранения в PL/1 - там все будет разжевано...
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39737703
PinkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

это было удобно для загрузки регистров CPU 80-90х годов.
-----
На это было пофиг на машинах ​ с 8-ми битными шинами - все одно два цикла шины.
Но тогда выбрали загружать первым младшее слово - было без разницы какое первым.
С переходом на 16-ти битную шину это уже стало глупостью, но продолжало поддерживаться из-за кода, который ожидал данные в этом виде...
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39738438
Pasha4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем.
авторНайди книжку по форматам хранения в PL/1 - там все будет разжевано...
Пока не очень получается найти. Если кто знает еще хорошие материалы по теме (можно и более широко - про ОС, архитектуру), был бы признателен.
...
Рейтинг: 0 / 0
принцип хранения данных (byte-swapped)
    #39738462
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha4Спасибо всем.
авторНайди книжку по форматам хранения в PL/1 - там все будет разжевано...
Пока не очень получается найти. Если кто знает еще хорошие материалы по теме (можно и более широко - про ОС, архитектуру), был бы признателен.

Как я говорил выше Assembler X86 команды ADD SUB MUL DIV IMUL IDIV
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / принцип хранения данных (byte-swapped)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]