Saya tidak tahu apa arti skalar sebenarnya, tetapi saya mencoba melihat apakah saya memikirkannya dengan benar. Apakah skalar berhubungan dengan kesewenang-wenangan di mana jenis data dapat berupa jenis apa pun, atau suatu sistem tidak dapat mengetahui data apa yang ada di muka.
terminology
Ryan M
sumber
sumber
Jawaban:
Istilah "skalar" berasal dari aljabar linier , di mana ia digunakan untuk membedakan angka tunggal dari vektor atau matriks. Arti dalam komputasi serupa. Ini membedakan nilai tunggal seperti integer atau float dari struktur data seperti array. Perbedaan ini sangat menonjol dalam Perl, di mana
$
sigil (yang menyerupai 's') digunakan untuk menunjukkan variabel skalar dan@
sigil (yang menyerupai 'a') menunjukkan sebuah array. Itu tidak ada hubungannya dengan jenis elemen itu sendiri. Itu bisa berupa angka, karakter, string, atau objek. Yang penting disebut skalar adalah bahwa ada salah satunya.sumber
int
atauchar
, bukan tipe terstruktur seperti objek (bahkan jika hanya ada satu).$variable
. Lihat halaman wikipedia .Skalar hanyalah variabel yang memiliki nilai individual . Untuk keperluan diskusi ini, mari kita asumsikan bahwa skalar adalah angka tunggal, bukan kumpulan angka.
Misalnya hasil kueri SQL yang mengembalikan angka bukan tupel, seperti halnya metode ExecuteScalar () di kelas SQLCommand , yang mengembalikan nilai kolom pertama dari baris pertama dalam hasil yang dikembalikan oleh kueri. Biasanya digunakan untuk mengambil nilai agregat seperti COUNT atau RATA-RATA, ID catatan baru, atau jumlah catatan yang diproses oleh kueri.
sumber
Sebuah mnemonik tambahan, bagi jawaban hebat Karl Bielefeldt:
Cara berpikir sederhana tentang hal itu, adalah "bisakah ini pada skala?"
Integer bisa dalam skala.
Integer ukuran tetap dapat dalam skala, misalnya dari -2147483648 hingga 2147483647.
Bilangan real bisa dalam skala.
Karakter, desimal boolean, atau presisi tetap semua bisa dalam skala. Bahkan sebuah string bisa dalam skala (kami menggunakan semacam itu dalam menyortir).
Oleh karena itu "skalar".
Baris basis data tidak boleh dalam skala. Bilangan kompleks tidak boleh dalam skala. Objek yang mewakili pesan email tidak boleh dalam skala. Array, vektor, atau matriks tidak boleh dalam skala.
sumber
Seperti halnya dengan banyak istilah dalam komputasi; asal kata tersebut lebih berkaitan dengan sifat fisik. Istilah Scalar relatif lama dalam komputasi. Definisi ini kurang ketat hari ini. Saat Anda menyimpan data dalam memori komputer, data ini dapat masuk dalam satu alamat (1 byte *) atau tidak. Ketika itu terjadi, itu disebut skalar, ketika tidak disebut komposit. Terutama karena CPU hanya bisa menangani satu alamat / bagian data (= 1 byte) pada suatu waktu. Sebagaimana dinyatakan oleh @Karl Bielefeldt; istilah itu memang diambil dari aljabar.
Kami menyebut string sebagai string karena ini adalah string karakter. Char adalah / adalah skalar, sedangkan string adalah / adalah gabungan. Menyimpan 1 buah data (datum) di beberapa alamat agak mengaburkan garis. Pikirkan seperti ini: Ketika CPU dapat memproses datum dalam satu instruksi, itu adalah skalar.
Saat ini skalar adalah nilai singular apa pun, dan nilai singular apa pun dapat didefinisikan secara berbeda di antara berbagai bahasa. bilangan bulat, mengapung, karakter, string, boolean, dan enum adalah - untuk sebagian besar skalars yang dipertimbangkan saat ini. Array, daftar, pohon, objek, dll tidak.
(* Saya katakan 1 byte untuk menjaga hal-hal yang jelas, tetapi secara teknis saya berbicara tentang hari-hari ketika 6 bit lebih umum digunakan pada kartu punch misalnya dan kemudian pada strip magnetik)
Penafian: Saya tidak dapat menemukan referensi ini di internet, saya mendapat informasi di sekolah dan dari buku-buku lama, di antaranya (saya pikir): Tabel Matematika dan Alat Bantu Lain untuk Perhitungan dari tahun 1944. Konon, ingatan saya adalah tidak seperti dulu, jadi kalau ada yang bisa mengubah / mengkonfirmasi atau menolak jawaban saya, itu akan menyenangkan.
sumber
Skalar adalah nilai numerik tunggal sederhana (seperti dalam 1, 2/3, 3.14, dll.), Biasanya bilangan bulat, titik tetap, atau float (tunggal atau ganda), sebagai lawan dari array, struktur, objek, vektor kompleks ( real plus imajiner atau magnitudo plus komponen sudut), tipe data vektor atau matriks (dll) yang lebih tinggi yang berisi lebih dari satu nilai numerik tunggal.
Namun, perhatikan bahwa tipe data besar yang sangat kompleks dari jenis yang juga dapat diratakan dan direpresentasikan dalam 8-bit byte memori komputer juga dapat direpresentasikan sebagai satu nomor skalar biner yang sangat panjang / besar. Turing menggunakan teknik ini untuk mewakili seluruh program komputer hanya sebagai satu angka skalar.
sumber
Skalar adalah variabel yang memiliki nilai individual.
Sebagai contoh:
Scalar Variable : Katakan bahwa Anda mencoba untuk mewakili nama-nama berbagai siswa sebagai satu set variabel. Masing-masing variabel individu adalah variabel skalar sebagai berikut
Fungsi Skalar : Fungsi skalar SQL mengembalikan nilai tunggal, berdasarkan nilai input.
sumber