Типы для обработки простых числовых данных

В любом языке программирования предусмотрены типы для хранения целых и вещественных чисел. Язык С# использует для этих данных типы CTS, но снабжает их псевдонимами. Система псевдонимов, с одной стороны, сохраняет названия типов языков С и С++, что облегчает освоение С# широкому кругу программистов. С другой стороны, упрощается кодирование программы, так как псевдонимы типов представляют собой зарезервированные слова и используются без ссылки на пространство имен System. Например, два следующих объявления создают переменные для хранения 32-разрядных целых чисел:

int x;

System.Int32 y;

В табл. 5.1 перечислены псевдонимы С# и соответствующие им типы CTS для работы с числами.

Таблица 5.1. Типы для работы с числами

Тип С#

Тип CTS

Диапазон значений

Описание

sbyte

SByte

От –128 до +127

Знаковое 8-разрядное целое число

byte

Byte

От 0 до 255

Беззнаковое 8-разрядное целое число

short

Int16

От –32 768 до +32 767

Знаковое 16-разрядное целое число

ushort

UInt16

От 0 до 65 535

Беззнаковое 16-разрядное целое число

int

Int32

От –2 147 483 648 до +2 147 483 647

Знаковое 32-разрядное целое число

uint

UInt32

От 0 до 4 294 967 295

Беззнаковое 32-разрядное целое число

long

Int64

От –9 223 372 036 854 775 808 до +9 223 372 036 854 775 807

Знаковое 64-разрядное целое число

ulong

UInt64

От 0 до 18 446 744 073 709 551 615

Беззнаковое 64-разрядное целое число

float

Single

От 1,5  10-45 до 3,4  1038

32-разрядное вещественное число

double

Double

От 5,0  10-324 до 1,7  10308

64-разрядное вещественное число

decimal

Decimal

От 295 до +295

Знаковое 96-разрядное целое число

Каждый из указанных типов ссылается на структуру, в которой помимо методов, унаследованных от System.Object (в том числе ToString()) имеется метод Parse() и два поля, предназначенные только для чтения, — MinValue и MaxValue. Метод Parse() преобразует, если это возможно, строковое представление числа в машинную форму. Поля содержат соответственно минимально и максимально возможные значения типа.

Программа, представленная в листинге 5.2, показывает некоторые данные для типа decimal (файл Ch05\Decimals\Program.cs).

Листинг 5.2. Работа с данными типа decimal

using System;

using System.Collections.Generic;

using System.Text;

 

namespace Decimals

{

    class Decimal

    {

    static void Main()

    {

        decimal d;

        Console.WriteLine("Тип decimal:\n");

        Console.WriteLine("Минимум: " + decimal.MinValue.ToString("N"));

        Console.WriteLine("Максимум: " + decimal.MaxValue.ToString("N"));

        d = decimal.Parse("-33333");

        Console.WriteLine("GetType: " + d.GetType());

        Console.WriteLine("d = {0}", d);

        Console.ReadLine();

    }

    }

}

Предлагаю ознакомиться с аналогичными статьями: