Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

C - Тип литья

Преобразование одного типа данных в другой известно как приведение типов или преобразование типов. Например, если вы хотите сохранить «длинное» значение в простое целое число, вы можете ввести преобразование «длинное» в «целое». Вы можете явно преобразовывать значения из одного типа в другой с помощью оператора приведения следующим образом —

(type_name) expression

Рассмотрим следующий пример, в котором оператор приведения приводит к тому, что деление одной целочисленной переменной на другую выполняется как операция с плавающей запятой —

Живая демонстрация
#include <stdio.h>

main() {

   int sum = 17, count = 5;
   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Value of mean : 3.400000

Здесь следует отметить, что оператор приведения имеет приоритет над делением, поэтому значение sum сначала преобразуется в тип double и, наконец, оно делится на количество, что дает двойное значение.

Преобразования типов могут быть неявными, которые выполняются компилятором автоматически, или могут быть указаны явно с помощью оператора приведения. . Хорошей практикой программирования считается использование оператора приведения всякий раз, когда необходимо преобразование типов.

Целочисленное продвижение

Целочисленное преобразование – это процесс, при котором значения целочисленного типа становятся "меньше", чем int. или целое число без знака преобразуются либо в int или целое число без знака . Рассмотрим пример добавления символа с целым числом —

Живая демонстрация
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Value of sum : 116

Здесь значение sum равно 116, потому что компилятор выполняет целочисленное преобразование и преобразует значение 'c' в ASCII перед выполнением фактической операции сложения.

Обычное арифметическое преобразование

Обычные арифметические преобразования неявно выполняются для приведения их значений к общему типу. Сначала компилятор выполняет целочисленное преобразование.; если операнды по-прежнему имеют разные типы, то они преобразуются в тип, который появляется выше всего в следующей иерархии —

Обычные арифметические преобразования не выполняются ни для операторов присваивания, ни для логических операторов &&и ||. Давайте возьмем следующий пример, чтобы понять концепцию —

Живая демонстрация
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Value of sum : 116.000000

Здесь просто понять, что сначала c преобразуется в целое число, но поскольку конечное значение двойное, применяется обычное арифметическое преобразование, и компилятор преобразует i и c в «плавающее число» и складывает их, получая результат «плавающее число».

Язык C

  1. Преобразование типов С#
  2. Преобразование типов Python и приведение типов
  3. Приведение типов Java
  4. Типы переменных С++
  5. С# — Типы данных
  6. С# — преобразование типов
  7. C# — значения NULL
  8. С# — Атрибуты
  9. Понимание литья под давлением
  10. Руководство по точному литью