В чём разница между операндом и литералом?

Понятие операнд и литерал - это одно и тоже? Или есть разница? Объясните, пожалуйста, коротко простым языком?
  • Вопрос задан
  • 689 просмотров
Пригласить эксперта
Ответы на вопрос 3
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
Слово "литерал" переводится как "буквальный". Это объект, значение которого -- его буквальное значение. Например: "hello" -- это строковый литерал со значением "hello". Или 42 -- это целочисленный литерал со значением 42. Противоположностью литерала, в некотором смысле, является переменная. Переменная -- это объект, значение которого -- последнее присвоенное ему значение. Например: char a[] = "hello world"; a -- это строковая переменная, со значением "hello world". Или int answer = 40 + 2; answer -- целочисленная переменная со значением 42.

Операнд -- это аргумент операции. Во многих контекстах литералы и переменные могут быть операндами. Например: a[0]; операция здесь -- [], взятие элемента массива, операнды -- a и 0, один из них -- переменная, другой -- литерал.
Ответ написан
# "Hello world" - литерал
print("Hello world")

# somevariable - не литерал
print(somevariable)

# сложение - бинарная операция
# x и 3 - операнды
# а 3, кроме того, и литерал
x + 3
Ответ написан
zolt85
@zolt85
Программист
Что говорит Wikipedia:

Литерал (англ. literal ) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение. Литералами также называют представление значения некоторого типа данных.

Опера́нд (англ. operand) в языках программирования ― аргумент операции; данные, которые обрабатываются командой; грамматическая конструкция, обозначающая выражение, задающее значение аргумента операции. Иногда операндом называют место, позицию в тексте, где должен стоять аргумент операции.

Делаем вывод - операнд и литерал - это не одно и то же.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы