Здравствуйте, Vlad_SP, Вы писали:
V_S>V_S>it is the smallest addressable unit of memory in many computer architectures.
Правильно написано, во многих аритектурах байт это наименьшая адресуемая область памяти. Но не во всех.
Предлагаю найти официальное описание архитектуры, где машинное слово в 16 бит или больше называется байтом, а не словом. Мне не встречалось.
K>Я как-то работал с сигнальным процессором, у которого гарвардская архитектура с организацией памяти по 16 бит, так там char занимал одно слово (два байта), short столько же, а инт два слова, так получалось sizeof(char)=1(два байта), sizeof(short)=1, sizeof(int)=2. И вот там "веселуха" была с функциями типа memcpy, strcpy... приходилось свои писать
Мой опыт с dsp в основном с архитектурой sizeof(char)=sizeof(short)=sizeof(int)=sizeof(long)=1 (32 бита)
H_C>>Какая базовая единица памяти написана в стандарте — 1 байт или sizeof(char)?
MD>На всякий случай позанудствую: также не забывайте, что для памяти базовая единица языка, базовая единица машинной архитектуры и базовая единица операционной системы могут отличаться.
Да и с базовой единицей машинной архитектуры все не так просто. Знакомьтесь, современный но забавный зверек — PIC24, модифицированная гарвардская архитектура. Раздельная память команд/данных. Объем адресуемой ячейки данных — 8 бит. Объем адресуемой ячейки команд — 24 бита. Впрочем для удобства эти 24 бита можно поделить на две части — на 16 и 16 бит. Просто у одной из этих частей половинка будет забита нулями. Для еще большего удобства часть памяти команд можно отобразить в пространство данных. Но при этом 8 из каждых 24х бит будут не видны