Escalar (informática)

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.