Да.Это говорит о том, что тип данных состоит из трех частей:
Различные возможные значения.Так, например, 8-битное целое число со знаком может иметь -127..128.Это как набор значений V.
Операции: поэтому 8-разрядное целое число со знаком может иметь +
, -
, *
(умножить) и/
(разделить).Полное определение будет определять их как функции из V в V или, возможно, как функции из V в float для деления.
Способ его хранения - я как бы отдал его, когдаЯ сказал "восемь битов со знаком".Другая деталь заключается в том, что я предполагаю конкретное представление по тому, как я показал диапазон значений.
Вы можете, если вы занимаетесь объектно-ориентированным программированием, заметить, что этоочень похоже на определение класса, которое определяется хранилищем, используемым каждым объектом, и методами класса.Предоставление этих частей для некоторой произвольной вещи, но не для правил наследования, дает вам то, что называется абстрактный тип данных .
Обновление
@ Appy,есть место для различий в формальностях.Я был немного неуловим, потому что было поздно, и я внезапно почувствовал себя неуверенно, принял ли я дополнение или дополнение к двум - конечно, это дополнение к двум.Так что интерпретация включена в мое описание.Абстрактно, однако, вы бы сказали, что это алгебраическая структура T = (V, O), где V - это набор значений, O набор функций из V в некоторый произвольный тип - помните, например, «==» будетфункция eq: V × V → {0,1}, поэтому вы не можете ожидать, что каждая операция будет в V.