Escalar (informática)

De Wikipedia, la enciclopedia libre

Un escalar es una constante o variable que contiene un dato atómico y unidimensional. En contraposición al concepto de escalar, están los conceptos de array (vector), lista y objeto, que pueden tener almacenado en su estructura más de un valor.[1]

El término viene heredado del álgebra lineal –véase Escalar (matemática)– y se refiere a un dato atómico y unidimensional, en contraposición al concepto de vector, que se refiere a un dato multidimensional.[2]

El origen del término «escalar» data de los años setenta cuando se quería disponer de un significado opuesto a «vector», para distinguir la idea de procesado de vectores, en el diseño de procesadores computacionales.

Tipos de datos escalares en C#[editar]

Categoría Clase Alias Descripción Rango
Enteros Byte byte Un entero sin signo (8-bit) 0 255
SByte sbyte Un entero con signo (num negativo) (8-bit) -128 127
Int16 short Un entero con signo (16-bit) 216
Int32 int Un entero con signo (32-bit) 232
Int64 long Un entero con signo (64-bit) 264
Punto Flotante Single float Un número de punto flotante de simple precisión (32-bit) 232
Double double Un número de punto flotante de doble precisión (64-bit) 264
Decimal decimal Un número decimal de 96-bit 296
Lógicos Boolean bool Un valor booleano (true o false) 1 byte
Caracter Char char Un caracter Unicode (16-bit) 216

Tipos de datos escalares en diferentes lenguajes de programación[editar]

Lenguaje de Programación Tipos Escalares
C# byte, sbyte, short, int, long, float, double, decimal, bool, char
C++ int, bool, char, short, long, float, double, etc.
PHP boolean, integer, float o double.

¿Por qué el string no es escalar?[editar]

Si bien el string se ve como un único valor, no hay que confundirlo con un dato escalar. En realidad es un array de caracteres inmutable y de tamaño fijo.

Como los arrays en c# (al igual que en varios lenguajes) tienen tamaño fijo, cuando "modificamos" un string en realidad se crea un nuevo array, con la longitud necesaria y se pasa la referencia del nuevo objeto. Por eso decimos que es inmutable, no cambia, se genera uno nuevo.

Véase también[editar]

Referencias[editar]

  1. Kent, Allen; Williams, James G. (2002). Encyclopedia of computer science and technology. New York, NY [USA]: Dekker. pp. 383-384. ISBN 0-8247-2298-1. 
  2. «Scalar». Techopedia.