Значение байта без инверсии: 0; двоичная форма: 00000001 — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Значение байта без инверсии: 0; двоичная форма: 00000001

2018-01-30 175
Значение байта без инверсии: 0; двоичная форма: 00000001 0.00 из 5.00 0 оценок
Заказать работу

Значение байта с инверсией: 255; двоичная форма: 11111110

*/

 

Операции сдвига.

Пример 2.6. Использование сдвиговых операций.

 

using System;

Class Demo

{ public static string ByteToStr(byte b)

// Преобразование байта (b) в двоичную форму

{... // Код функции смотри в примере 2.5

}

Static void Main()

{ Console.WriteLine("Демонстрация сдвига разрядов " +

"целого числа:");

byte b = 1;

for (int i = 1; i <= 8; i++)

{ Console.WriteLine("Значение байта: {0,3};\t" +

"двоичная форма: {1}", b, ByteToStr(b));

int k = (int) b;

b = (byte)(k << 1);

}

Console.ReadLine();

}

}

/* Вывод:

Демонстрация сдвига разрядов целого числа:

Значение байта: 1; двоичная форма: 00000001

Значение байта: 2; двоичная форма: 00000010

Значение байта: 4; двоичная форма: 00000100

Значение байта: 8; двоичная форма: 00001000

Значение байта: 16; двоичная форма: 00010000

Значение байта: 32; двоичная форма: 00100000

Значение байта: 64; двоичная форма: 01000000

Значение байта: 128; двоичная форма: 10000000

*/

 

 

Условная операция?: имеет три операнда:

 

<условие>? <выражение_1>: <выражение_2>;

 

Например:

 

int а = 1, b = 4, с;

с = (а > b)? а: b; // Результат: с = 4

а = (с > 0)? ++а: ++Ь; // Результат: а = 2

 

C# допускает использование сокращенных записей операций с присваиванием (составного присваивания):

 

А += В вместо А = А + В А &= В вместо А = А & В

А -= В вместо А = А - В А |= В вместо А = А | В

А *= В вместо А = А * В А ^= В вместо А = А ^ В

А /= В вместо А = А / В А <<= В вместо А = А << В

А %= В вместо А = А % В А >>= В вместо А = А >> В

 

Методы класса System.Match

(http://msdn.microsoft.com/ru-ru/library/system.math)

 

Таблица 2.7. Поля и основные методы класса System.Math

Члены Описание
Поля  
E Представляет основание натурального логарифма, определяемое константой e = 2.71828182845904523536.
PI Представляет отношение длины окружности к ее диаметру, определяемое константой π = 3.14159265358979323846.
Методы  
double Abs(double d); Возвращает модуль аргумента. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Int16, Int32, Int64)
double Acos(double d); Возвращает угол в радианах по его арккосинусу
double Asin(double d); Возвращает угол в радианах по его арксинусу
double Atan(double d); Возвращает угол в радианах по его арктангенсу
long BigMul(int x, int y); Возвращает произведение двух 32-разрядных чисел
double Ceiling(double d); Возвращает наименьшее целое число, которое больше или равно аргументу. Имеется перегруженный метод для типа Decimal
double Cos(double d); Возвращает косинус угла d в радианах
double Cosh(double d); Возвращает гиперболический косинус угла d в радианах
int DivRen (int a, int b, out int R); Возвращает результат деления двух целых чисел и остаток R как выходной параметр. Имеется перегруженный метод для типа Int64
double Exp(double d); Возвращает Е в степени d
double Floor(double d); Возвращает наибольшее целое, которое меньше или равно заданному числу. Имеется перегруженный метод для типа Decimal
double IEEERemainder (double a, double b); Возвращает остаток от деления а на b
double Log(double d); Возвращает натуральный логарифм числа d. В перегруженном методе вторым параметром передается основание логарифма
double Log10(double d); Возвращает десятичный логарифм числа d
double Max (double a, double b)); Возвращает максимальное из двух чисел. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64)
double Min (double a, double b); Возвращает меньшее из двух чисел. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64)
double Pow (double a, double b); Возвращает результат возведения числа а в степень b
double Round(double a); double Round (double a, Int32 n); Округляет число а до ближайшего целого (или до n разрядов). Имеется перегруженный метод для типа Decimal
int Sign(double a); Возвращает -1, 0 или +1, когда число а, соответственно, меньше нуля, равно ему или больше нуля. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Int16, Int32, Int64)
double Sin(double a); Возвращает синус угла а в радианах
double Sinh(double a); Возвращает гиперболический синус угла а в радианах
double Sqrt(double a); Возвращает корень квадратный из а
double Tan(double a); Возвращает тангенс угла а в радианах
double Tanh(double a); Возвращает гиперболический тангенс угла а в радианах
double Truncate(double a) Возвращает целую часть заданного числа a. Имеется перегруженный метод для типа Decimal

 

 

Пример 2.7. Использование методов класса System.Math для определения высоты, площади и углов трапеции по ее известным сторонам.

 

Дано: Трапеция ABCD; основания: a = 20 см, c = 10 см, бок. стороны: b = 8 см, d = 6 см.   Найти: h, S, α, β.

 

 

Формулы: (ф-ла Герона);

=> ;

;

sin α = h / b; Ðαрад = arcsin α; Ðαград = αрад · 180 / π;

sin β = h / d; Ð βрад = arcsin β; Ð βград = βрад · 180 / π.

 

using System;

Class MathTrapezoid

{ static void Main()

{ double a = 20.0; // Большее основание

double c = 10.0; // Меньшее основание

double b = 8.0; // Левая сторона

double d = 6.0; // Правая сторона

Console.WriteLine("Основания трапеции равны 20 и 10 см, " +

"боковые стороны - 8 и 6");

// Вычисление высоты трапеции

double p = (a - c + b + d) / 2.0;

double S_ABD = Math.Sqrt(p * (p - a + c) * (p - b) * (p - d));

double h = 2.0 * S_ABD / (a - c);

Console.WriteLine("Высота трапеции: " + h.ToString());

// Вычисление площади трапеции

double S_ABCD = (a - c) * h / 2.0;

Console.WriteLine("Площадь трапеции: " + S_ABCD.ToString());

// Вычисление левого нижнего угла трапеции (в радианах)

double sinA = h / b;

double AlphaRad = Math.Round(Math.Asin(sinA), 2);

Console.WriteLine("Левый нижний угол: " + AlphaRad.ToString() +

" (радиан)");

// Вычисление правого нижнего угла трапеции (в радианах)

double sinB = h / d;

double BetaRad = Math.Round(Math.Asin(sinB), 2);

Console.WriteLine("Правый нижний угол: " + BetaRad.ToString() +

" (радиан)");

// Вычисление левого нижнего угла трапеции (в градусах)

double AD = AlphaRad * 180 / Math.PI;

double AlphaDegree = Math.Round(AD, 2);

Console.WriteLine("Левый нижний угол: " +

AlphaDegree.ToString () + " (градусов)");

// Вычисление правого нижнего угла трапеции (в градусах)

double BD = BetaRad * 180 / Math.PI;

double BetaDegree = Math.Round(BD, 2);

Console.WriteLine("Правый нижний угол: " +

BetaDegree.ToString() + " (градусов)");

Console.ReadLine();

}

}

/* Вывод:


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.005 с.