Каково различие между словом short
и ushort
в C#? Они - оба 16 битов!
C # не имеет типа word
. Если вы имеете в виду short
или Int16
, разница в том, что ushort
беззнаковый.
short
может иметь любое значение от -32768
до 32767
, тогда как ushort
может быть от 0
до ] 65535
. Они имеют одинаковый общий диапазон и используют одинаковое количество бит, но интерпретируются по-разному и имеют разные максимумы / минимумы.
Уточнение: слово - это общий термин в информатике, который обычно используется для обозначения самой большой отдельной группы битов, которая может быть обработана ЦП за одну операцию. Итак, если ваш процессор (и операционная система) 32-разрядный, тогда слово будет Int32
или UInt32
(C #: int
/ uint
). Если вы используете 64-битный ЦП / ОС, слово на самом деле будет Int64 / UInt64
(C #: long
/ ulong
). Термин «слово» обычно относится только к размеру переменной в битах, а не к тому, как она фактически интерпретируется в программе.
(машинное) слово - это собственный размер регистров процессора. Обычно это то, что C использовал в качестве размера для типа данных int
. В C # типы данных имеют фиксированный размер и не зависят от архитектуры процессора.
В ассемблере Intel тип данных WORD
стал означать 16 бит, DWORD DWORD
(двойное слово) - 32 бита, а QWORD
(quad word) составляет 64 бита. Тип WORD
также используется в Windows API с тем же значением.
Итак, тип данных WORD
соответствует типу C # ushort
.