Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Арифметические преобразования при выполнении арифметических операций вида X op Y

Основные сведения | Структуры и функции. Указатели на структуры. | Структуры со сылками на себя | Стандартный ввод-вывод | Работа с файлами | Низкоуровневый ввод-вывод | Конвейер, перенаправление ввода-вывода | Сигналы. Фоновые процессы. | Свойства транслятора | Моделирование работы интерпретатора SHELL |


Читайте также:
  1. Административно-государственные преобразования
  2. Анализ депозитных операций.
  3. Арифметические выражения
  4. Арифметические задачи
  5. Арифметические переменные
  6. Аудит учета кассовых операций.

1. если есть операнд типа short или signed char, то он преобразуется к int; если есть операнд типа char, unsigned char или unsigned short, и все значения этого типа могут быть представлены как int, то он преобразуется к int; иначе - к unsigned int. Это преобразование называется «целочисленное расширение» (promoting).

2. если после выполнения п.1 операнды имеют различные типы, то осуществляется их приведение к общему типу. Общим для двух типов (кроме случая «unsigned int - long») является тот, который расположен позже в последовательности int, unsigned int, long, unsigned long, float, double, long double.

Если операнды имеют типы unsigned int и long, и все значения типа unsigned int могут быть представлены как long, то общим типом является long; иначе - unsigned long. Это преобразование называют «согласование типов» (balansing).

3. после этого выполняется арифметическая операция; тип результата - это тип, к которому были приведены оба операнда.

 

 

Арифметические преобразования при выполнении присваивания и явного приведения

 

M-битового представления величины X к N-битовому представлению

преобразование N < M N == M N>M

-------------------------------------------------------------------------------------------------------

знаковое целое отсечение значение значение

к старших сохраняется сохраняется

знаковому целому N-M бит

-------------------------------------------------------------------------------------------------------------

беззнаковое целое зависит от если x ³0,знач.сохр. значение

к реализации иначе зависит от сохраняется

знаковому целому реализации

-------------------------------------------------------------------------------------------------------------

вещественное если |x|<2N-1,то если |x|<2N-1,то если |x|<2N-1,то

к trunc(x) trunc(x) trunc(x)

знаковому целому иначе зависит иначе зависит иначе зависит

от реализации от реализации от реализации

------------------------------------------------------------------------------------------------------------

знаковое целое если x³0, то x%2N если x³0 если x³0

к иначе зависит знач. сохр. знач. сохр.

беззнаковому целому от реализации иначе x+2N иначе x+2N

-------------------------------------------------------------------------------------------------------------

беззнаковое целое значение значение

к x%2N сохраняется сохраняется

беззнаковому целому

------------------------------------------------------------------------------------------------------------

вещественное если 0£x<2N если 0£x<2N если 0£x<2N

к trunc(x) trunc(x) trunc(x)

беззнаковому иначе зависит иначе зависит иначе зависит

целому от реализации от реализации от реализации

------------------------------------------------------------------------------------------------------------

знаковое целое сохр. знак, значение значение

к сохр. старшие сохраняется сохраняется

вещественному N-1 бит

------------------------------------------------------------------------------------------------------------

беззнаковое целое знак +, знак +, значение

к сохр. старшие сохр. старшие сохраняется

вещественному N-1 бит N-1 бит

------------------------------------------------------------------------------------------------------------

вещественное сохр. старшие значение значение

к N-1 бит сохраняется сохраняется

вещественному

 

10.2.5 Неявное приведение типов в операторе присваивания X = Y

 


Дата добавления: 2015-11-14; просмотров: 75 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Функции проверки класса литер| Базисные средства ввода-вывода

mybiblioteka.su - 2015-2024 год. (0.007 сек.)