Сложение чисел с плавающей запятой.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Сумма вычисляется в соответствии с арифметическими правилами стандарта IEEE 754.

Если один из операндов бинарного оператора имеет тип с плавающей запятой, а второй операнд имеет целый тип, то в этом случае вычисление операции выполняется следующим образом:

· Если один из операторов имеет целый тип, он преобразуется к типу с плавающей запятой, соответствующему типу второго операнда.

Пример.

var i = +5;   // unary plus

var i1 = 5 + 5; // addition

var i2 = 5 + .5; // addition

var i3 = "5" + "5"; // string concatenation

var i4 = 5.0 + "5"; // string concatenation

 

Сцепление строк.

 Если один операнд при сцеплении строк равен null, то подставляется пустая строка. Иначе любой нестроковый аргумент преобразуется в свое строковое представление путем вызова виртуального метода ToString, наследуемого от типа bject.

Оператор вычитания

Операция вида x – y

Вычитание целых чисел.

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

Данный пример будет работать, т.к. uint+ uint дадут в результате выражения тип uint, но вместо -1 получим в результате 4294967295.

   static void Main(string[] args)

   {

       uint A = 10;

       uint B = 9;

       Console.WriteLine(B-A);

   }

Вычитание чисел с плавающей запятой.

var i = -5;      

var i1 = 5 - 5;    

var i2 = 5 - .5;   

 

Массивы

Массив представляет собой структуру данных, содержащую определенное число переменных, доступ к которым осуществляется с помощью вычисляемых индексов. Содержащиеся в массиве переменные также называются элементами массива и имеют одинаковый тип, который называется типом элементов массива.

Типы массива

Тип массива записывается как тип_не_массива, за которым следуют спецификации_ранга:

тип_массива:
тип_не_массива спецификации_ранга

тип_не_массива:
тип

спецификации_ранга:
спецификация_ранга
спецификации_ранга спецификация_ранга

спецификация_ранга:
[ разделители_размерностейнеобязательно ]

разделители_размерностей:
,
разделители_размерностей ,

Тип_не_массива является одним из типов, которые сами по себе не являются типом_массива.

Пример. Нельзя использовать int[] в качестве типа массива

int[][] sp = new int[3];

Ошибка     Неявное преобразование типа "int[]" в "int[][]" невозможно

 

int[][] sp = new int[3][3];

Ошибка     1     Недопустимый спецификатор ранга: требуется "," или "]"      

 

int[,] arr = new int[,];

Ошибка     2     При создании массива следует указать размер массива или инициализатор массива

 

 

Код, который не приведет к ошибке

Одномерный массив

int[] sp = new int[3];

 

Двумерный массив

int[,] sp = new int[3,3];

 

 

Массив массивов — это массив, элементы которого сами являются массивами.

int[][] arr = new int[2][];

arr[0] = new int[5] { 1, 3, 5, 7, 9 };

arr[1] = new int[4] { 2, 4, 6, 8 };

Console.Write("{0}", arr[0][3]);

 

Ранг типа массива задается левой спецификацией_ранга в типе_массива: спецификация_ранга указывает, что массив имеет ранг, равный единице плюс число меток «,» в этой спецификации.

Тип элемента массива представляет собой тип, полученный в результате удаления крайней левой спецификации_ранга:

· Тип массива в форме T[R] указывает массив с рангом R и типом элемента (типом_не_массива) T.

· Тип массива в форме T[R][R1]...[RN] указывает массив с рангом R и типом элемента T[R1]...[RN].

В результате данные спецификации_ранга считываются слева направо перед последним типом элемента (типом_не_массива). Тип int[][,,][,] указывает одномерный массив трехмерных массивов из двумерных массивов значений с типом int.

 








Создание массива

Типы массивов являются ссылочными типами. 

Во время выполнения значение типа массива может быть равно null или может содержать ссылку на экземпляр массива этого типа.

Первичные выражения разделяются на выражения создания массива и первичные выражения создания не массива.

Экземпляры типа массива создаются при помощи выражений создания массива либо путем объявлений полей или локальных переменных, содержащих инициализатор массива.

Пример.

 

int[] arr = { 1, 2, 3 };

int[] arr1 = new int[3];

int[] arr2 = new int[] { 1, 2, 3 };

int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

 

Элементы массива, созданного с использованием выражений создания массива, всегда инициализируются значениями по умолчанию.

Дата: 2019-07-30, просмотров: 192.