Одинарное с плавающей точкой access что это
Точность и точность в расчетах с плавающей точкой
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Исходный номер КБ: 125056
Сводка
Существует множество ситуаций, в которых точность, округлость и точность в расчетах с плавающей точкой могут работать для получения неожиданных для программиста результатов. Они должны следовать четырем общим правилам:
При вычислении с однократной и двойной точностью результат обычно не будет более точным, чем однократная точность. Если требуется двойная точность, обязательно все термины в вычислении, включая константы, заданы с двойной точностью.
Никогда не думайте, что результат является точным до последнего десятичных мест. Всегда существуют небольшие различия между «истинным» ответом и тем, что можно рассчитать с конечной точностью любого блока обработки плавающей точки.
Никогда не сравнивайте два значения с плавающей точкой, чтобы узнать, равны они или нет. Это является следствием правила 3. Почти всегда будут небольшие различия между числами, которые «должны» быть равными. Вместо этого всегда убедитесь, что цифры почти равны. Другими словами, проверьте, является ли разница между ними незначительной или незначительной.
Дополнительные сведения
Как правило, описанные выше правила применяются ко всем языкам, включая C, C++и assembler. В примерах ниже приведены некоторые правила с помощью FORTRAN PowerStation. Все образцы были составлены с помощью FORTRAN PowerStation 32 без каких-либо вариантов, за исключением последнего, который записан в C.
Пример 1
В первом примере показано две вещи:
После инициализации с помощью 1.1 (единой константы точности) значение y является таким же неточным, как и одна переменная точности.
Результат умножения однозначного значения точности на точное двойное значение почти так же плох, как умножение двух однозначных значений точности. Оба расчета имеют в тысячи раз больше ошибок, чем умножение двух двойных значений точности.
Пример кода
Пример 2
В примере 2 используется четырехкратное уравнение. Это показывает, что даже двойные вычисления точности не являются совершенными и что результат вычисления должен быть протестирован, прежде чем он зависит от того, могут ли небольшие ошибки иметь резкие результаты. Вход в корневую функцию квадрата в примере 2 только немного отрицательный, но он по-прежнему недействителен. Если при двойных вычислениях точности не было допущено незначительных ошибок, результат будет:
Вместо этого создается следующая ошибка:
Пример кода
Пример 3
Пример 3 показывает, что из-за оптимизации, которая происходит, даже если оптимизация не включена, значения могут временно сохранять более высокую точность, чем ожидалось, и что не стоит тестировать два плавающих значения для равенства.
В этом примере два значения равны и не равны. В первом случае значение Z по-прежнему находится в стеке coprocessor и имеет ту же точность, что и Y. Поэтому X не равен Y, и первое сообщение отпечатается. Во время второго if Z должен был быть загружен из памяти и поэтому имел ту же точность и значение, что и X, и второе сообщение также печатается.
Пример кода
Пример 4
Первая часть примера кода 4 вычисляет наименьшее возможное различие между двумя числами, близкими к 1.0. Это делается путем добавления одного бита в двоичное представление 1.0.
Некоторые версии FORTRAN округляют числа при их отображении, чтобы присущую числовую импроцессию не было столь очевидно. Вот почему x и y выглядят одинаково, когда отображаются.
Вторая часть примера кода 4 вычисляет наименьшее возможное различие между двумя числами, близкими к 10.0. Опять же, это делается путем добавления одного бита в двоичное представление 10.0. Обратите внимание, что разница между числами вблизи 10 больше, чем разница вблизи 1. Это демонстрирует общий принцип: чем больше абсолютное значение номера, тем менее точно оно может храниться в определенном количестве битов.
Двоичное представление этих номеров также отображается, чтобы показать, что они отличаются только на 1 бит.
В последней части примера кода 4 показано, что простые десятичные значения, которые не повторяются, часто могут быть представлены в двоичном только повторяемой фракцией. В этом случае x=1.05, который требует повторения фактора CCCCCC. (Hex) в мантиссе. В FORTRAN последняя цифра «C» округляется до «D», чтобы сохранить максимально возможную точность:
Даже после округлки результат не совсем точный. Существует ошибка после наименее значимой цифры, которую мы можем увидеть, удалив первую цифру.
Пример кода
Пример 5
В C плавучие константы по умолчанию удваиваются. Используйте значение «f», чтобы указать значение float, как в «89.95f».
Свойство FieldSize
Область применения: Access 2013 | Access 2016
Свойство FieldSize можно использовать для установки максимального размера данных, хранящихся в поле с типом данных «Текст», «Числовой» или «Счетчик».
Значение
Если свойству DataType присвоен тип «Текст», введите число от 0 до 255. Значение по умолчанию — 50.
Если свойству DataType присвоен тип «Счетчик», для свойства FieldSize можно установить значение «Длинное целое» или «Код репликации».
Если свойству DataType присвоен тип «Числовой», параметры свойства FieldSize и их значения связаны указанным ниже образом.
Это свойство можно настроить только на странице свойств таблицы.
Чтобы настроить размер поля в Visual Basic, используйте свойство Size интерфейса DAO для считывания и установки максимального размера текстовых полей (для типов данных, отличных от текстового, значение свойства Type DAO автоматически определяет значение свойства Size).
Примечания
Следует использовать наименьшее возможное значение свойства FieldSize, так как обработка данных меньшего размера может выполняться быстрее и требует меньше памяти.
Если вы преобразуете большое значение FieldSize в меньшее значение в поле, содержащем данные, они могут быть потеряны. Например, если вы изменяете значение FieldSize поля с текстовым типом данных с 255 на 50, данные с размером более 50 знаков (новое значение) будут удалены.
Невозможно отменить изменения данных, происходящие в результате изменения свойства FieldSize, после сохранения этих изменений в режиме конструктора таблицы.
Можно использовать тип данных «Денежный», если вы собираетесь выполнять много вычислений в поле, содержащем данные с количеством десятичных знаков от одного до четырех. Поля с данными типа «Одинарное» и «Двойное» требуют расчетов с плавающей точкой. Поля с типом данных «Денежный» используют более быстрые вычисления с фиксированной точкой.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Типы данных для баз данных Access для настольных компьютеров
При создании таблиц в Access необходимо выбрать тип данных для каждого столбца данных. Тип данных «Короткий текст» является популярным вариантом, так как позволяет вводить практически любой символ (букву, символ или число). Однако тщательный выбор типов данных поможет вам воспользоваться дополнительными возможностями Access (такими как проверка данных и функции) и повысить точность данных, которые вы хотите хранить. В таблице ниже приведены типы данных, доступные в классических базах данных Access (ACCDB и MDB).
Полный список свойств полей, доступных для каждого типа данных см. в статье Введение в использование типов данных и свойств полей.
В таблице ниже перечислены типы данных, доступные в классических базах данных в Access 2013 и более поздних версиях.
Краткий текст (ранее назывался «Текст»)
Буквенно-цифровые данные (имена, названия и т. д.)
Длинный текст (ранее назывался «Поле MEMO»)
Большие объемы буквенно-цифровых данных: предложения и абзацы. Дополнительные сведения о типе данных «Длинный текст» см. в статье Длинный текст (ранее — тип данных «Поле MEMO»).
До 1 гигабайта (ГБ), но в элементах управления отображаются только первые 64 000 символов.
1, 2, 4, 8 или 16 байт.
Дополнительные сведения см. в статье Использование типа данных bigint.
Значения даты и времени.
Значения даты и времени.
Строка кодировки из 42 байтов
Дополнительные сведения см. в типе данных «Дата/время».
Денежные данные, хранящиеся с точностью до 4 десятичных знаков после запятой.
Уникальное значение, создаваемое Access для каждой новой записи.
4 байта (16 байт для кода репликации).
Изображения, графики или другие объекты ActiveX из другого приложения Windows.
Адрес ссылки на документ или файл в Интернете, интрасети, локальной сети или на локальном компьютере.
До 8192 (каждая часть типа данных «Гиперссылка» может содержать до 2048 знаков).
Вы можете вложите файлы, например рисунки, документы, электронные таблицы или диаграммы. Каждое поле вложения может содержать неограниченное количество вложений для каждой записи в пределах размера файла базы данных. Обратите внимание, что тип данных «Вложение» не доступен в форматах файлов MDB.
Вы можете создать выражение, использующее данные из одного или более полей. Выражения могут возвращать данные разных типов. Тип данных «Вычисляемый» недоступен в файлах формата MDB.
Зависит от типа данных свойства «Тип результата». Результат с типом данных «Краткий текст» может содержать до 243 знаков. Значения типа «Полный текст», «Число», «Логический» и «Дата/время» должны соответствовать своим типам данных.
Запись «Мастер подстановок» в столбце «Тип данных» в Конструкторе фактически не является типом данных. При выборе этой записи запускается мастер, помогающий определить простое или сложное поле подстановки. Простое поле подстановки использует содержимое другой таблицы или списка значений для проверки правильности содержимого единственного значения в строке. Сложное поле подстановки позволяет хранить несколько значений одного типа данных в каждой строке.
Зависит от типа данных поля подстановки.
В таблице ниже представлены типы данных, доступные в классических базах данных в Access 2010 и Access 2007.
Буквенно-цифровые данные (имена, названия и т. д.)
Большие объемы буквенно-цифровых данных: предложения и абзацы.
До 1 гигабайта (ГБ), но в элементах управления отображаются только первые 64 000 символов.
1, 2, 4, 8 или 16 байт.
Значения даты и времени.
Денежные данные, хранящиеся с точностью до 4 десятичных знаков после запятой.
Уникальное значение, создаваемое Access для каждой новой записи.
4 байта (16 байт для кода репликации).
Изображения, графики или другие объекты ActiveX из другого приложения Windows.
Адрес ссылки на документ или файл в Интернете, интрасети, локальной сети или на локальном компьютере.
До 8192 (каждая часть типа данных «Гиперссылка» может содержать до 2048 знаков).
Вы можете вложите файлы, например рисунки, документы, электронные таблицы или диаграммы. Каждое поле вложения может содержать неограниченное количество вложений для каждой записи в пределах размера файла базы данных. Обратите внимание, что тип данных «Вложение» не доступен в форматах файлов MDB.
Вы можете создать выражение, использующее данные из одного или более полей. Выражения могут возвращать данные разных типов. Тип данных «Вычисляемый» недоступен в файлах формата MDB.
Примечание: тип данных «Вычисляемый» отсутствует в Access 2007.
Зависит от типа данных свойства «Тип результата». Результат с типом данных «Краткий текст» может содержать до 243 знаков. Значения типа «Полный текст», «Число», «Логический» и «Дата/время» должны соответствовать своим типам данных.
Запись «Мастер подстановок» в столбце «Тип данных» в Конструкторе фактически не является типом данных. При выборе этой записи запускается мастер, помогающий определить простое или сложное поле подстановки. Простое поле подстановки использует содержимое другой таблицы или списка значений для проверки правильности содержимого единственного значения в строке. Сложное поле подстановки позволяет хранить несколько значений одного типа данных в каждой строке.
Задание размера поля
С помощью свойства «Размер поля» у числовых полей в таблицах Access можно регулировать объем, занимаемый записями в базе данных. Размер можно менять и у текстовых полей, хотя эффект этого с точки зрения экономии пространства не так заметен.
Примечание: Функции, описанные в этой статье, не относятся к веб-приложениям и веб-базам данных Access.
В этой статье
Результат изменения размера поля
Можно менять размер как пустого поля, так и поля, которое уже содержит данные. Результат изменения размера поля зависит от того, содержит ли оно данные.
Если поле не содержит данных При изменении размера поля устанавливается предельный размер новых значений в этом поле. Для числовых полей размер точно определяет объем дискового пространства, используемого приложением Access для хранения каждого значения соответствующего поля. Для текстовых полей размер поля определяет максимальный объем дискового пространства, который Access может выделить для каждого значения этого поле.
Если поле содержит данные При изменении размера поля Access обрезает все значения в поле, которые превышают заданный размер, а также ограничивает размер новых значений данных в поле, как описано выше.
Изменение размера числового поля
Совет: Если поле, размер которого необходимо изменить, уже содержит данные, перед продолжением рекомендуется создать резервную копию базы.
В области навигации щелкните правой кнопкой мыши таблицу, содержащую поле, которое нужно изменить, и выберите команду Конструктор.
В сетке конструктора таблицы выберите поле, размер которого необходимо изменить.
В области Свойства поля на вкладке Общие укажите новый размер поля в качестве значения свойства Размер поля. Можно выбрать одно из значений, перечисленных ниже.
Байт — для целых чисел от 0 до 255. Для хранения требуется 1 байт.
Совет: Тип данных «Длинное целое» следует использовать при создании внешнего ключа для связывания поля с полем первичного ключа другой таблицы, которое имеет тип данных «Счетчик».
ИД репликации — для хранения GUID, необходимого для репликации. Для хранения требуется 16 байт.
Примечание: Репликация не поддерживается для файлов формата ACCDB.
Изменение размера текстового поля
Совет: Если поле, размер которого необходимо изменить, уже содержит данные, перед продолжением рекомендуется создать резервную копию базы.
В области навигации щелкните правой кнопкой мыши таблицу, содержащую поле, которое нужно изменить, и выберите команду Конструктор.
В сетке конструктора таблицы выберите поле, размер которого необходимо изменить.
В области Свойства поля на вкладке Общие укажите новый размер поля в качестве значения свойства Размер поля. Введите значение от 1 до 255. Это число определяет максимальное количество символов, содержащихся в каждом из значений. Для больших полей используйте тип данных Memo (в Access 2016 — «Длинный текст»).
Примечание: Для данных в текстовых полях (в Access 2016 — «Краткий текст») Access не резервирует больше места, чем необходимо для хранения фактических значений. Свойство Размер поля определяет размер максимального значения поля.
Введение в использование типов данных и свойств полей
Каждая таблица в Access состоит из полей. В свойствах поля описываются характеристики и поведение добавляемых в него данных. Тип данных поля — это самое важное свойство, которое определяет, какие данные могут храниться в поле. В этой статье описаны типы данных и другие свойства поля, доступные в Access, а также приведена дополнительная информация в разделе справочных сведений о типах данных.
В этой статье
Общие сведения
Иногда типы данных могут показаться неочевидными, например в поле с типом данных «Текст» могут храниться данные, состоящие из текста и чисел. Но в поле с типом данных «Число» могут храниться только числовые данные. Поэтому вам нужно знать, какие свойства используются для каждого типа данных.
Тип данных поля определяет много других важных характеристик поля, в частности:
форматы, которые можно использовать в поле;
максимальный размер значения в поле;
способ использования поля в выражениях;
возможность индексирования поля.
В зависимости от способа создания нового поля тип данных поля может быть задан заранее или его можно выбрать. Например, если при создании поля в режиме таблицы вы:
используете существующее поле из другой таблицы, типы данных уже определены в ней или в шаблоне;
вводите данные в пустом столбце (или поле), Access назначает полю тип данных, исходя из вводимых значений, или вы можете назначить тип данных и формат для поля;
на вкладке Изменение полей в группе Поля и столбцы выбираете команду Добавить поля, Access отображает список типов данных для выбора.
Когда какой тип данных использовать?
Тип данных поля можно обдумать как набор характеристик, которые применяются ко всем его значениям. Например, значения, которые хранятся в текстовом поле, могут содержать только буквы, цифры и ограниченный набор знаков препинания, а текстовое поле может содержать не более 255 знаков.
Совет: Иногда все выглядит так, как будто данные в поле имеют один тип, а на самом деле это данные другого типа. Например, поле вроде бы содержит числовые значения, но на самом деле это текстовые значения, представляющие номера комнат. Часто для сравнения или преобразования значений с разными типами данных используются выражения.
В таблицах ниже показаны форматы, доступные для каждого типа данных, и описаны результаты форматирования.
Основные типы
Короткие буквенно-цифровые значения, например фамилия или почтовый адрес. Помните, что начиная с версии Access 2013, текстовый тип данных переименован в Краткий текст.
Числовой, Большое число
Числовые значения, например расстояния. Помните, что для денежных значений есть отдельный тип данных.
Значения «Да» и «Нет», а также поля, содержащие только одно из двух значений.
Date/Time, Date/Time Extended
Дата/время: значения даты и времени для лет от 100 до 9999.
Дата/время с расширением: значения даты и времени для лет с 1 по 9999.
Текст или сочетание текста и чисел, которые отформатированы с помощью элементов управления цветом и шрифтом.
Результаты вычисления. Вычисление может ссылаться на другие поля в той же таблице. Вычисления создаются с помощью построителя выражений. Вычисляемые поля впервые появились в Access 2010.
Вложенные изображения, файлы электронных таблиц, документы, диаграммы и другие файлы поддерживаемых типов в записях базы данных (как и в сообщениях электронной почты).
Текст или сочетание текста и чисел, сохраненное как текст и используемое в качестве адреса гиперссылки.
Длинные блоки текста. Типичный пример использования поля MEMO — подробное описание продукта. Помните, что начиная с версии Access 2013, тип данных MEMO переименован в «Длинный текст».
Список значений, которые получены из таблицы или запроса, или набор значений, которые вы указали при создании поля. Запускается мастер подстановок, с помощью которого можно создать поле подстановки. В зависимости от выбора, сделанного в мастере, данные в поле подстановки могут иметь текстовый или числовой тип.
У полей подстановки есть дополнительный набор свойств, которые находятся на вкладке Подстановка в области Свойства поля.
Примечание: В файлах формата MDB недоступны вложения и вычисляемые данные.
Числовой
Числа без дополнительного форматирования (точно в том виде, в котором хранятся).
Обычные денежные значения.
Обычные денежные значения в формате ЕС.
Числовые данные с десятичными знаками.
Значения в процентах.
Дата и время
Краткий формат даты
Дата в кратком формате. Зависит от региональных параметров даты и времени. Например, 14.03.2001 для России.
Средний формат даты
Дата в среднем формате. Например, 03-апр-09 для России.
Длинный формат даты
Дата в длинном формате. Зависит от региональных параметров даты и времени. Например, 14 марта 2001 г. для России.
Время только в 12-часовом формате, который будет соответствовать изменениям в региональных параметрах даты и времени.
Средний формат времени
Время в 12-часовом формате, после которого указываются символы AM (до полудня) или PM (после полудня).
Время только в 24-часовом формате, который будет соответствовать изменениям в региональных параметрах даты и времени.
Логический
Объект OLE Объекты OLE, например документы Word.
Свойство «Размер поля»
После создания поля и указания типа данных для него можно настроить дополнительные свойства поля. Набор доступных дополнительных свойств зависит от типа данных поля. Например, вы можете настроить размер текстового поля с помощью свойства Размер поля.
Для числовых и денежных полей свойство Размер поля особенно важно, поскольку определяет диапазон значений поля. Например, одноразрядное числовое поле может содержать только целые числа в диапазоне от 0 до 255.
Свойство Размер поля определяет также, сколько места на диске занимает каждое значение числового поля. В зависимости от размера поля число может занимать 1, 2, 4, 8, 12 или 16 байт.
Примечание: В полях MEMO и текстовых полях возможны значения переменных размеров. Для этих типов данных свойство Размер поля задает максимальный размер доступного пространства для одного значения.
Дополнительные сведения о свойствах полей и той роли, которую они выполняют для различных типов данных, см. в разделе Справочные сведения о типах данных. Ознакомьтесь также со статьей Задание размера поля.
Типы данных в связях и соединениях
Связь между таблицами — это связи между общими полями в двух таблицах. Связь может быть одного из следующих типов: один к одному, один ко многим, многие ко многим.
Объединение — это SQL, которая объединяет данные из двух источников в одну запись в запросе набор записей на основе значений в указанном поле, которые есть у них общие. Присоединиться может быть внутреннее соединение, левое внешнее соединение или правое внешнее соединение.
Когда вы создаете связь между таблицами или добавляете соединение в запрос, типы данных в соединяемых полях должны быть одинаковые или совместимые. Например, вы не сможете создать соединение между числовым и текстовым полями, даже если значения в этих полях совпадают.
При использовании связи или соединения поля с типом данных «Счетчик» совместимы с полями числового типа, если для свойства Размер поля последних задано значение Длинное целое.
Для поля, участвующего в связи между таблицами, нельзя изменить тип данных или свойство Размер поля. Чтобы изменить свойство Размер поля, временно удалите связь. Но после изменения типа данных вы не сможете снова создать связь, пока не измените тип данных связанного поля. Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.
Справочные сведения о типах данных
Тип данных, применяемый к полю, содержит набор свойств, которые вы можете выбрать. Чтобы получить дополнительные сведения, щелкните типы данных ниже.