¿Qué significa cuando los datos son escalares?

64

No sé qué significa escalar exactamente, pero estoy tratando de ver si lo estoy pensando correctamente. ¿El escalar se relaciona con la arbitrariedad donde el tipo de datos podría ser de cualquier tipo, o un sistema no puede saber de antemano cuáles son los datos?

    
pregunta Ryan M 06.05.2014 - 01:37

6 respuestas

93

El término "escalar" proviene de álgebra lineal , donde se usa para diferenciar un solo número De un vector o matriz. El significado en computación es similar. Distingue un solo valor como un entero o flotante de una estructura de datos como una matriz. Esta distinción es muy prominente en Perl, donde se usa el $ sigil (que se asemeja a una 's') para denotar una variable escalar y un @ sigil (que se asemeja a una 'a') denota una matriz. No tiene nada que ver con el tipo del elemento en sí. Podría ser un número, carácter, cadena u objeto. Lo que importa llamarse escalar es que hay uno de ellos.

    
respondido por el Karl Bielefeldt 06.05.2014 - 04:54
26

Un escalar es simplemente una variable que posee un valor individual . Para los fines de esta discusión, supongamos que un escalar es un solo número, en lugar de una colección de números.

Por ejemplo, el resultado de una consulta SQL que devuelve un número en lugar de una tupla, al igual que el ExecuteScalar () método en el SQLCommand class , que devuelve el valor de la primera columna de la primera fila en el conjunto de resultados devuelto por la consulta. Por lo general, se usa para recuperar un valor agregado, como por ejemplo COUNT o AVERAGE, el ID de un nuevo registro o el número de registros procesados por una consulta.

    
respondido por el Robert Harvey 06.05.2014 - 01:57
16

Un mnemotécnico complementario, a la gran respuesta de Karl Bielefeldt:

Una forma simple de pensar al respecto es "¿puede estar en una escala?"

Un entero puede estar en una escala.

Un entero de tamaño fijo puede estar en una escala, por ejemplo. de -2147483648 a 2147483647.

Un número real puede estar en una escala.

Un carácter, booleano o decimal de precisión fija pueden estar todos en una escala. Incluso una cadena puede estar en una escala (la utilizamos en la clasificación).

Por lo tanto, "escalar".

Una fila de la base de datos no puede estar en una escala. Un número complejo no puede estar en una escala. Un objeto que representa un mensaje de correo electrónico no puede estar en una escala. Una matriz, vector o matriz no puede estar en una escala.

    
respondido por el Jon Hanna 06.05.2014 - 12:37
9

Como es el caso con muchos términos en computación; El origen de la palabra se relaciona con más propiedades físicas. El término escalar es relativamente antiguo en computación. Su definición es menos estricta en estos días. Cuando almacena datos en la memoria de la computadora, estos datos pueden caber en una dirección (1 byte *) o no. Cuando lo hizo, se llamó escalar, cuando no lo hizo, se llamó compuesto. Principalmente porque las CPU solo podían manejar una dirección / pieza de datos (= 1 byte) a la vez. Según lo declarado por @Karl Bielefeldt; el término fue tomado del álgebra.

Llamamos cadena a cadena porque es una cadena de caracteres. Un char es / era un escalar, mientras que una cadena es / era un compuesto. Almacenar 1 pieza de datos (un dato) en varias direcciones difumina un poco la línea. Piénselo así: cuando una CPU podría procesar un dato en una instrucción, era escalar.

En estos días un escalar es cualquier valor singular, y lo que es un valor singular puede definirse de manera diferente entre diferentes idiomas. enteros, flotadores, caracteres, cadenas, booleanos y enumerados son, en su mayor parte, escalares considerados en estos días. Las matrices, listas, árboles, objetos, etc. no lo son.

(* Digo 1 byte para mantener las cosas claras, pero técnicamente estoy hablando de los días en que los 6 bits se usaban más comúnmente en las tarjetas perforadas, por ejemplo, y luego en las tiras magnéticas)

Descargo de responsabilidad: No puedo encontrar ninguna referencia de esto en Internet, obtuve la información en la escuela y en libros antiguos, entre ellos (creo): Tablas matemáticas y otras ayudas a la computación de 1944. Dicho esto, mi memoria ya no es lo que solía ser, por lo que si alguien puede enmendar / confirmar o negar mi respuesta, sería bueno.

    
respondido por el Evert 20.05.2016 - 13:38
9

Un escalar es un simple valor numérico simple (como en 1, 2/3, 3.14, etc.), generalmente entero, punto fijo o flotante (simple o doble), a diferencia de una matriz, estructura, objeto, Vector complejo (real más imaginario o magnitud más componente de ángulo), vector de mayor dimensión o tipo de datos de matriz (etc.) que contiene más de un único valor numérico.

Sin embargo, tenga en cuenta que un tipo de datos muy complejo de gran tamaño que también se puede aplanar y representar en bytes de 8 bits de la memoria de la computadora también se puede representar como un solo número escalar binario muy largo / grande. Turing usó esta técnica para representar programas de computadora completos como un solo número escalar.

    
respondido por el hotpaw2 06.05.2014 - 03:11
1
  

La palabra escalar deriva de la palabra latina scalaris, una forma adjetiva de scala (latín para "escalera"). La palabra inglesa "escala" también viene de scala. Fuente

Un escalar es una variable que posee un valor individual.

Por ejemplo:

Variable escalar : Diga que está tratando de representar los nombres de varios estudiantes como un conjunto de variables. Cada una de las variables individuales es una variable escalar como sigue

NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"

Funciones escalares : las funciones escalares SQL devuelven un solo valor, basado en el valor de entrada.

UCASE() - Converts a field to upper case
LCASE() - Converts a field to lower case
    
respondido por el Premraj 20.12.2015 - 03:41

Lea otras preguntas en las etiquetas