Não sei exatamente o que escalar significa, mas estou tentando ver se estou pensando corretamente. Escalar está relacionado à arbitrariedade em que o tipo de dados pode ser qualquer tipo ou um sistema não pode saber com antecedência quais são os dados.
terminology
Ryan M
fonte
fonte
Respostas:
O termo "escalar" vem da álgebra linear , onde é usado para diferenciar um único número de um vetor ou matriz. O significado na computação é semelhante. Ele distingue um valor único como um número inteiro ou flutuante de uma estrutura de dados como uma matriz. Essa distinção é muito proeminente em Perl, onde o
$
sigilo (que se assemelha a um 's') é usado para denotar uma variável escalar e um@
sigil (que se assemelha a um 'a') indica uma matriz. Não tem nada a ver com o tipo do elemento em si. Pode ser um número, caractere, sequência ou objeto. O que importa ser chamado de escalar é que existe um deles.fonte
int
ouchar
, tipos não estruturados como objetos (mesmo se houver apenas um).$variable
. Veja a página da Wikipedia .Um escalar é simplesmente uma variável que possui um valor individual . Para os propósitos desta discussão, vamos supor que um escalar seja um número único, e não uma coleção de números.
Por exemplo, o resultado de uma consulta SQL que retorna um número em vez de uma tupla, assim como o método ExecuteScalar () na classe SQLCommand , que retorna o valor da primeira coluna da primeira linha no conjunto de resultados retornado pela consulta. Geralmente, é usado para recuperar um valor agregado, como COUNT ou AVERAGE, o ID de um novo registro ou o número de registros processados por uma consulta.
fonte
Um mnemônico suplementar, à grande resposta de Karl Bielefeldt:
Uma maneira simples de pensar sobre isso é "isso pode ser em escala?"
Um número inteiro pode estar em uma escala.
Um número inteiro de tamanho fixo pode estar em uma escala, por exemplo, de -2147483648 a 2147483647.
Um número real pode estar em uma escala.
Um caractere, um valor booleano ou um decimal de precisão fixa podem estar em uma escala. Mesmo uma string pode estar em uma escala (usamos isso na classificação).
Daí "escalar".
Uma linha do banco de dados não pode estar em uma escala. Um número complexo não pode estar em uma escala. Um objeto que representa uma mensagem de email não pode estar em uma escala. Uma matriz, vetor ou matriz não pode estar em uma escala.
fonte
Como é o caso de muitos termos em computação; a origem da palavra está relacionada a mais propriedades físicas. O termo escalar é relativamente antigo em computação. Sua definição é menos rigorosa atualmente. Quando você armazena dados na memória do computador, esses dados podem caber em um endereço (1 byte *) ou não. Quando isso acontecia, era chamado de escalar; quando não era, era chamado de composto. Principalmente porque as CPUs podiam lidar apenas com um endereço / parte de dados (= 1 byte) por vez. Conforme afirmado por @Karl Bielefeldt; o termo foi realmente tirado da álgebra.
Chamamos uma string de string porque é uma string de caracteres. Um caractere é / era um escalar, enquanto uma string é / era um composto. Armazenar 1 dado (um dado) em vários endereços embaçou um pouco a linha. Pense assim: quando uma CPU podia processar um dado em uma instrução, era escalar.
Atualmente, um escalar é qualquer valor singular, e o que é um valor singular pode ser definido de maneira diferente entre diferentes idiomas. números inteiros, flutuantes, caracteres, seqüências de caracteres, booleanos e enumerações são, na maioria dos casos, escalares considerados hoje em dia. Matrizes, listas, árvores, objetos etc. não são.
(* Digo 1 byte para manter as coisas claras, mas tecnicamente estou falando dos dias em que 6 bits eram mais comumente usados em cartões perfurados, por exemplo, e mais tarde em tiras magnéticas)
Isenção de responsabilidade: não consigo encontrar nenhuma referência disso na internet, obtive as informações da escola e de livros antigos, entre os quais (penso): Tabelas Matemáticas e outras ajudas à computação de 1944. Dito isto, minha memória é não o que costumava ser; portanto, se alguém puder alterar / confirmar ou negar minha resposta, seria bom.
fonte
Um escalar é um valor numérico único e simples (como em 1, 2/3, 3.14, etc.), geralmente inteiro, ponto fixo ou flutuante (simples ou duplo), em oposição a uma matriz, estrutura, objeto, vetor complexo ( componentes reais mais imaginários ou magnitude mais ângulos), vetor dimensional mais alto ou matriz (etc.) que contém mais de um único valor numérico.
No entanto, observe que um tipo de dados grande e muito complexo do tipo que também pode ser achatado e representado em bytes de 8 bits da memória do computador também pode ser representado como um único número escalar binário muito longo / grande. Turing usou essa técnica para representar programas de computador inteiros como apenas um número escalar.
fonte
Um escalar é uma variável que possui um valor individual.
Por exemplo:
Variável escalar : diga que você está tentando representar os nomes de vários alunos como um conjunto de variáveis. Cada uma das variáveis individuais é uma variável escalar da seguinte maneira
Funções escalares : As funções escalares SQL retornam um único valor, com base no valor de entrada.
fonte