Язык программирования Си для персонального компьютера - [43]
В операциях присваивания тип значения, которое присваивается, преобразуется к типу переменной, получающей это значение. Преобразования при присваивании допускаются даже в тех случаях, когда они влекут за собой потерю информации.
Тип long double ведет себя в преобразованиях аналогично типу double.
Преобразования знаковых целых типов Знаковое целое значение преобразуется к короткому знаковому целому значению (short signed int) посредством усечения старших битов. Знаковое целое значение преобразуется к длинному знаковому целому значению (long signed int) путем расширения знака влево. Преобразование знаковых целых значений к плавающим значениям происходит путем преобразования к типу long, а затем преобразования к плавающему типу. При этом возможна некоторая потеря точности. При преобразовании знакового целого значения к беззнаковому целому значению (unsigned int) производится лишь преобразование к размеру беззнакового целого типа, и результат интерпретируется как беззнаковое целое значение.
Правила преобразования знаковых целых типов приведены в таблице 4.2. Предполагается, что тип char по умолчанию является знаковым. Если во время компиляции используется опция, которая изменяет умолчание для типа char со знакового на беззнаковый, то для него выполняется преобразование как для типа unsigned char (см. таблицу 4.3).
Таблица 4.2.
От типа | К типу | Метод |
char | short | дополнение знаком |
char | long | дополнение знаком |
char | unsigned char | сохранение битового представления; |
char | unsigned short | старший бит теряет функцию знакового бита дополнение знаком до short; преобразование short в unsigned short |
char | unsigned long | дополнение знаком до long; преобразование long в unsigned long |
char | float | дополнение знаком до long; преобразование long к float |
char | double | дополнение знаком до long; преобразование long к double |
short | char | сохранение младшего байта |
short | long | дополнение знаком |
short | unsigned char | сохранение младшего байта |
short | unsigned short | сохранение битового представления; старший бит теряет функцию знакового бита |
short | unsigned long | дополнение знаком до long; преобразование long в unsigned long |
short | float | дополнение знаком до long; преобразование long к float |
short | double | дополнение знаком до long; преобразование long к double |
long | char | сохранение младшего байта |
long | short | сохранение младшего слова |
long | unsigned char | сохранение младшего байта |
long | unsigned short | сохранение младшего слова |
long | unsigned long | сохранение битового представления; старший бит теряет функцию знакового бита |
long | float | представляется как float; возможна некоторая потеря точности |
long | double | представляется как double; возможна некоторая потеря точности |
Примечание. В СП MSC и СП ТС тип int эквивалентен типу short и преобразование для типа int производится как для типа short. В некоторых реализациях языка Си тип int эквивалентен типу long и преобразование для типа int производится как для типа long.
Беззнаковое целое значение преобразуется к короткому беззнаковому целому значению или короткому знаковому целому значению путем усечения старших битов. Беззнаковое целое значение преобразуется к длинному беззнаковому целому значению или длинному знаковому целому значению путем дополнения нулями слева. Беззнаковое целое значение преобразуется к значению с плавающей точкой путем преобразования к типу long, а затем преобразования значения типа long к значению с плавающей точкой.
Если беззнаковое целое значение преобразуется к знаковому целому значению того же размера, то битовое представление не меняется. Однако, если старший (знаковый) бит был установлен в единицу, представляемое значение изменится.
Правила преобразования беззнаковых целых типов приведены в таблице 4.3.
Таблица 4.3.
От типа | К типу | Метод |
unsigned char | char | сохранение битового представления; старший бит становится знаковым |
unsigned char | short | дополнение нулевыми битами |
unsigned char | long | дополнение нулевыми битами |
unsigned char | unsigned short | дополнение нулевыми битами |
unsigned char | unsigned long | дополнение нулевыми битами |
unsigned char | float | дополнение нулевыми битами до long; преобразование long к float |
unsigned char | double | дополнение нулевыми битами до long; преобразование long к double |
unsigned short | char | сохранение младшего байта |
unsigned short | short | сохранение битового представления; старший бит становится знаковым |
unsigned short | long | дополнение нулевыми битами |
unsigned short | unsigned char | сохранение младшего байта |
unsigned short | unsigned long | дополнение нулевыми битами |
unsigned short | float | дополнение нулевыми битами до long; преобразование long к float |
unsigned short | double | дополнение нулевыми битами до long; преобразование long к double |
unsigned long | char | сохранение младшего байта |
unsigned long | short | сохранение младшего слова |
unsigned long | long | сохранение битового представления; старший бит становится знаковым |
unsigned long | unsigned char | сохранение младшего байта |
unsigned long | unsigned short | сохранение младшего слова |
unsigned long | float | преобразование к long; преобразование long к float |
unsigned long | double | преобразование к long; преобразование long к double (в версии 5 СП MSC это преобразование производится напрямую, без промежуточного типа long) |
Куприн не оставил крупных произведений, предпочитая форму рассказа, изредка позволяя ей перерасти до размера повести. В каждой работе Александр напоминал о своём присутствии, становясь для читателя приятным собеседником, направляющим ход мысли в требуемую ему сторону. Уже этим он достоин прозываться классиком русской литературы, насколько бы ни принижал созданное им наследие. Куприн выделялся из многих прозаиков честностью и стремлением показать человеческое желание жить в чуточку лучшем мире.
В условиях применения современных видов оружия, и прежде всего ядерного оружия, являющегося самым мощным средством поражения противника, от каждого солдата и матроса больше чем когда-либо требуются отличная выучка, стойкость, железная воинская дисциплина и непреклонная воля к победе над врагом. Какие бы трудности ни возникали в бою в связи с применением новых видов оружия, помни о своем священном долге перед Родиной и отдавай все силы успешному выполнению боевой задачи. Чтобы стать всесторонне подготовленным воином Советских Вооруженных Сил, ты обучаешься многому, что нужно знать и уметь делать в бою. Данное Пособие поможет тебе ознакомиться с ядерным, химическим и бактериологическим оружием, Научиться умело вести боевые действия в условиях его применения и овладеть средствами и способами защиты от его воздействия.
В Справочнике приведены краткие биографии около 1400 российских деятелей украинского происхождения, внёсших свой вклад в развитие России. В нём помещены статьи о государственных, политических, общественных и церковных деятелях, революционерах, декабристах, полководцах, флотоводцах и военачальниках, героях войн, космонавтах, писателях, художниках, скульпторах, архитекторах, артистах театра и кино, режиссёрах, композиторах, искусствоведах, спортсменах, учёных, создателях новых технологий и техники. Справочник через биографии деятелей освещает историю Украины и России за период с 1654 г.
В брошюре даны описания и способы применения пехотных противотанковых средств немецкой армии, захваченных нашими войсками. Брошюра поможет нашим бойцам и командирам научиться применять эти средства против танков противника. Настоящее пособие составлено инженер-полковником Клюевым при участии инженер-полковника Панкратьева.
Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.
rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.