Che cosa significa quando i dati sono scalari?

65

Non so cosa sia esattamente lo scalare, ma sto cercando di capire se ci sto pensando correttamente. Lo scalare riguarda l'arbitrarietà in cui il tipo di dati potrebbe essere di qualsiasi tipo, oppure un sistema non è in grado di sapere quali sono i dati in anticipo.

    
posta Ryan M 06.05.2014 - 01:37
fonte

6 risposte

95

Il termine "scalare" deriva da algebra lineare , dove viene utilizzato per differenziare un singolo numero da un vettore o una matrice. Il significato nel calcolo è simile. Distingue un singolo valore come un intero o un float da una struttura di dati come un array. Questa distinzione è molto importante in Perl, dove il $ sigil (che assomiglia ad un 's') è usato per denotare una variabile scalare e un @ sigillo (che assomiglia ad un 'a') denota una matrice. Non ha nulla a che fare con il tipo di elemento stesso. Potrebbe essere un numero, un carattere, una stringa o un oggetto. Ciò che conta essere chiamato scalare è che ce ne sono uno .

    
risposta data 06.05.2014 - 04:54
fonte
26

Uno scalare è semplicemente una variabile che contiene un valore individuale . Ai fini di questa discussione, supponiamo che uno scalare sia un singolo numero, piuttosto che una raccolta di numeri.

Ad esempio il risultato di una query SQL che restituisce un numero invece di una tupla, come fa Metodo ExecuteScalar () nel Classe SQLCommand , che restituisce il valore della prima colonna della prima riga nel set di risultati restituito dalla query. Viene in genere utilizzato per recuperare un valore aggregato come un COUNT o MEDIA, l'ID di un nuovo record o il numero di record elaborati da una query.

    
risposta data 06.05.2014 - 01:57
fonte
17

Un mnemonico supplementare, alla grande risposta di Karl Bielefeldt:

Un modo semplice di pensarci è "può essere su una scala?"

Un numero intero può essere su una scala.

Un numero intero di dimensioni fisse può essere su una scala, ad es. da -2147483648 a 2147483647.

Un numero reale può essere in scala.

Un decimale di carattere, booleano o di precisione fissa può essere impostato su una scala. Anche una stringa può essere su una scala (usiamo tale ordinamento).

Quindi "scalare".

Una riga del database non può essere su una scala. Un numero complesso non può essere su una scala. Un oggetto che rappresenta un messaggio di posta elettronica non può essere su una scala. Una matrice, vettore o matrice non può essere su una scala.

    
risposta data 06.05.2014 - 12:37
fonte
9

Come nel caso di molti termini in informatica; l'origine della parola si riferisce a più proprietà fisiche. Il termine Scalar è relativamente vecchio nell'elaborazione. La sua definizione è meno severa in questi giorni. Quando si memorizzano i dati nella memoria del computer, questi dati possono essere inseriti in un solo indirizzo (1 byte *) o meno. Quando lo ha fatto, è stato chiamato scalare, quando non è stato chiamato un composito. Soprattutto perché le CPU potevano gestire solo un indirizzo / una parte di dati (= 1 byte) alla volta. Come affermato da @Karl Bielefeldt; il termine è stato effettivamente preso da algebra.

Chiamiamo una stringa una stringa perché è una stringa di caratteri. Un char è / era uno scalare, mentre una stringa è / era un composito. Memorizzando un pezzo di dati (un dato) in più indirizzi offuscate un po 'la linea. Pensa in questo modo: quando una CPU poteva elaborare un dato in una istruzione, era scalare.

In questi giorni uno scalare è un valore singolare, e quale valore singolare può essere definito in modo diverso tra lingue diverse. interi, float, char, stringhe, booleani ed enumerazioni sono per lo più scalari considerati in questi giorni. Array, liste, alberi, oggetti, ecc. Non lo sono.

(* Dico 1 byte per mantenere le cose chiare, ma tecnicamente parlo dei giorni in cui 6 bit erano più comunemente usati su schede perforate, ad esempio e più tardi su strisce magnetiche)

Disclaimer: non riesco a trovare alcun riferimento su Internet, ho ricevuto le informazioni a scuola e da vecchi libri, tra cui (credo): Mathematical Tables e altri Aids to Computation del 1944. Detto questo, la mia memoria non è più quella di una volta, quindi se qualcuno può modificare / confermare o rifiutare la mia risposta, sarebbe bello.

    
risposta data 20.05.2016 - 13:38
fonte
9

Uno scalare è un semplice valore numerico singolo (come in 1, 2/3, 3,14, ecc.), di solito intero, fisso o mobile (singolo o doppio), al contrario di un array, struttura, oggetto, vettore complesso (reale più componenti immaginari o di magnitudo più angolari), più alto tipo di dati di vettore o di matrice dimensionale (ecc.) che contiene più di un singolo valore numerico.

Tuttavia, si noti che un grande tipo di dati molto complesso del tipo che può anche essere appiattito e rappresentato in byte da 8 bit di memoria del computer può anche essere rappresentato come un singolo numero scalare binario molto lungo / grande. Turing ha utilizzato questa tecnica per rappresentare interi programmi per computer come un solo numero scalare.

    
risposta data 06.05.2014 - 03:11
fonte
1

The word scalar derives from the Latin word scalaris, an adjectival form of scala (Latin for "ladder"). The English word "scale" also comes from scala. Source

Una scalare è una variabile che contiene un valore individuale.

Ad esempio:

Variabile scalare : Dì che stai cercando di rappresentare i nomi di vari studenti come un insieme di variabili. Ciascuna delle singole variabili è una variabile scalare come segue

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

Funzioni scalari : le funzioni scalari SQL restituiscono un singolo valore, basato sul valore di input.

UCASE() - Converts a field to upper case
LCASE() - Converts a field to lower case
    
risposta data 20.12.2015 - 03:41
fonte

Leggi altre domande sui tag