Здравствуйте, гость ( Вход | Регистрация )
Iron Bug | Дата 16.1.2014, 12:13 |
это не заблуждения. это опыт. всё, где 16, 32 бита - это эмуляторы процессоров на DSP и FPGA. и для юзера софтовых библиотек ну никак не светит работа с такими системами, потому что там жёсткая специфика и все библиотеки - от прозводителя эмулятора процессора. ну и компиляторы специфические, не поддерживающие многие вещи. так что занудствовать могу я, с опытом программирования под железо. но про готовые библиотеки там надо забыть и не вспоминать. |
|
Влад | Дата 16.1.2014, 8:55 |
Охо-хо... Скока заблуждений.... Вообще в хорошей традиции байт - это MADU (Minimum Addressable Data Unit). By definition, таэкскэть: http://www.oxforddictionaries.com/definition/english/byte А восьмибитные байты называются октетами. Но это я так, позанудствовал..... |
|
Litkevich Yuriy | Дата 15.1.2014, 18:02 |
вообще в хорошей традиции байт = это слово шириной 8 бит (не путать с виндузятно-интеловской терминологией о словах и двойных словах) | |
Влад | Дата 15.1.2014, 9:51 |
Iron Bug, размер char тут как раз при чем. Размер char по Стандарту строго равен 1 байту (5.3.3). А вот то, что размер байта может неожиданно оказаться вовсе не 8 бит, это медицинский факт. Увы, мне приходилось сталкиваться с весьма экзотическими архитектурами.... (например, размер байта 18 бит). Ы ? К какому результату приведет попытка так "переставить байты" на необычной архитектуре? PS: на x86 этот код будет работать на ура, вне сомнений. |
|
Iron Bug | Дата 15.1.2014, 0:32 |
размер char тут вовсе ни при чём. идёт перестановка байтов. я подозреваю, что в реальной жизни с такими машинами юзер не столкнётся. это DSP и там, строго говоря, вообще нет байтов, как таковых. там сигналы, а типы данных просто притянуты за уши, чтобы сделать подобие ОС и языков программирования высокого уровня. там всё либо по 16, либо по 32 бита и других "типов данных" нет. типы данных там просто фикция, чтобы соответствовать стандартам С. и юзерам общераспространённых библиотек это точно не грозит: это слишком специфическое железо. |
|
Влад | Дата 14.1.2014, 14:09 |
Я бы тут позаднудствовал: коли уж это библиотека, то вместо 8*i правильнее писать CHAR_BIT*i. А то ведь бывают архитектуры, в которых размер байта (неожиданно!) вовсе не 8 бит, а, например, 32.... | |
Litkevich Yuriy | Дата 13.1.2014, 20:14 |
таким оператором "|=" не разу не сталкивался Запись A |= B эквивалентна A = A | B Это оператор логического побитового ИЛИ. |
|
Trisch | Дата 13.1.2014, 13:21 |
просто переставляет байты в массиве справа налево и помещает их в некую переменную типа Type. А есть какие нибудь статьи на эту тему? А то я с таким оператором "|=" не разу не сталкивался( |
|
Iron Bug | Дата 12.1.2014, 16:20 |
просто переставляет байты в массиве справа налево и помещает их в некую переменную типа Type. | |
Trisch | Дата 12.1.2014, 0:40 |
Вот я в одной библиотеке нашел вот примерно такой код:
вот меня интересует вот эта строчка:
вот что она делает? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 12:31 |