Знак рівності (=) — це математичний символ, що використовують для позначення рівності. Він був винайдений у 1557 році Робертом Рекордом. У рівнянні знак рівності розміщують між двома виразами, які мають те ж саме значення. Він відповідає символу 003D в шістнадцятковій системі числення та +0061 в десятковій у стандартах Unicode і ASCII.
Етимологія слова «equal» (рівний англ.) походить від латинського слова «aequalis» в сенсі «єдиний», «ідентичний» або «один», від aequus («рівні», «навіть» або «просто»).
Знак рівності в сучасній формі створив математик Роберт Рекорд (Robert Recorde, 1510—1558) у своїй праці The Whetstone of Witte (1557). Він обґрунтував застосування двох паралельних штрихів таким чином (староанглійською): «…bicause noe 2 thynges can be moare equalle», тобто «ніякі інші дві речі не можуть бути більш рівними». До цього в античній та середньовічній математиці рівність позначали словесно (наприклад, est eqale). Рене Декарт у XVII столітті в записах став використовувати æ (від лат.aequalis), а сучасний знак рівності він використовував, щоб вказати, що коефіцієнт може бути негативним. Франсуа Вієт знаком рівності позначав віднімання. Символ Рекорда набув поширення далеко не відразу. У континентальній Європі знак «=» запровадив Лейбніц на межі XVII—XVIII століть, тобто більше ніж за 100 років після смерті Роберта Рекорда, який вперше використав його з цією метою.
Використання в математиці та комп'ютерному програмуванні
У математиці знак рівності може бути використаний як проста констатація факту в конкретному випадку (х = 2) або для створення визначень (нехай х = 2), умовних операторів (якщо х = 2, то …), або щоб висловити загальну еквівалентність (x + 1)2 = x2 + 2x + 1.
Першою розповсюдженою комп'ютерною мовою програмування, яка використовувала знак рівності, був початковий варіант Fortran — FORTRAN I, розроблений у 1954 році. У Fortran «=» використовують як оператор присвоєння: X = 2 встановлює значення X на 2. Це дещо нагадує використання «=» в математичному визначенні, але з різною семантикою: вираз праворуч від «=» обчислюється першим та може стосуватися попереднього значення X. Наприклад, призначення X = Х + 2 збільшує значення X на 2.
Інше використання у мові програмування було започатковане оригінальною версією ALGOL, який був розроблений у 1958 та реалізований у 1960 році. ALGOL включав оператор порівняння, який перевіряв на рівність, роблячи можливими такі конструкції, як if X = 2 , з саме таким значенням «=», як і умовне використання в математиці. Знак рівності був зарезервований для цього використання.
Обидва використання залишилися стандартними у різних мовах програмування на початку ХХ століття. Так само як і у Fortran, «=» використовують для призначення в таких мовах як C, Perl, Python, awk та їх нащадках. Але у таких мовах як сім'я Pascal, Ada, Eiffel, APL, «=» використовують для позначення рівності, а не призначення.
Кілька мов, такі як BASIC і ПЛ/1, використовували знак рівності і як призначення, і для позначення рівності — залежно від контексту. Після ALGOL більшість мов використовують «=» для використання рівності та «: =» для призначення, хоча APL, з його особливим набором символів, використовує ліву стрілку.
У Fortran не було оператора рівності (можна було лише порівняти вираз з нулем, використовуючи арифметичний оператор IF[en]), доки FORTRAN IV не було випущено у 1962 році, після чого він використовував чотири символи «.EQ.» для перевірки рівності. Мова В започаткувала використання «==» для цього призначення, що перейшло до нащадка, мови С, та більш пізніх мов, де «=» позначає призначення.
Використання кількох знаків рівності
У PHP, потрійний знак рівності[en] (===) позначає ідентичність[1]. Це означає, що два вирази мають не тільки однакові значення, а також і той самий тип даних. Наприклад, вираз 0 == false це правда, але 0 === false не є, тому що число 0 є цілим числом, у той час як «false» є логічним значенням.
JavaScript має ту ж семантику для ===, так звану «рівність без типу примусу». Проте, в JavaScript поведінку == не може бути описано за допомогою будь-яких простих узгоджених правил. Вираз 0 == false це правда, але 0 == udefined — брехня, хоча обидві сторони == діють так само в логічному контексті. З цієї причини рекомендується уникати оператора == в JavaScript на користь ===[2].
В Ruby, рівність під == вимагає, щоб обидві операнди були одного й того ж типу, наприклад 0 == false — брехня. Оператор === — гнучкий, і може бути використаний для будь-якого довільного заданого типу. Наприклад, значення типу Range є діапазоном цілих чисел, таких як 1800..1899. (1800..1899) == 1844 — брехня, оскільки типи даних різні (Range проти Integer), але (1800..1899) === 1844 — правда, оскільки === типу Range позначає «включення у діапазон»[3]. Зверніть увагу, що семантика тут, ===не симетрична. Наприклад, 1844 === (1800..1899) — брехня, оскільки це інтерпретується як Integer#===, замість Range#===[4].
Символ, що використовують для позначення нерівності (коли виразі нерівні) — це перетнутий знак рівності «≠» (U+2260; 2260,Alt+X в Microsoft Windows). У LaTeX він робиться за допомогою команди «\neq».
Можливий унікальний випадок використання знака рівності у європейському імені людини, зокрема в двочастинному імені[en], був у піонера-авіатора Альберто Сантос=Дюмонта, який був відомий не тільки за те, що часто використовував знак рівності "=" між двома своїми прізвищами[en] замість дефісу, а й за те, що він віддавав перевагу цій практиці, щоб показати рівну повагу до французької національності свого батька та бразильської національності своєї матері[9].
Знак рівняння іноді використовують у Японії як розділювач поміж іменами.
Інші схожі символи
Інші символи, пов'язані зі знаком рівності, включають у себе:
≌ (U + 224C ≌ Усе дорівнює)
≔ (U + 2254 ≔ двокрапка дорівнює)
≕ (U + 2255 ≕ дорівнює двокрапка)
≖ (U + 2256 ≖ кільце у знаку рівності)
≗ (U + 2257 ≗ кільце дорівнює)
≙ (U + 2259 ≙ оцінювання)
≚ (U + 225A ≚ Рівнокутні з…)
≛ (U + 225B ≛ зірка дорівнює)
≜ (U + 225C ≜ дельта дорівнює)
≞ (U + 225E ≞ виміряно…)
≟ (U + 225F ≟ знак питання дорівнює).
Хибне застосування
Знак рівності часом використовують неправильно у математичних виразах, щоб з'єднати математичні кроки у нестандартний спосіб, аніж щоб показати рівність (особливо студенти-математики).
Наприклад, якщо один з них шукає, крок за кроком, суму чисел 1, 2, 3, 4 та 5, він може написати
1 + 2 = 3 + 3 = 6 + 4 = 10 + 5 = 15.
Структурно, це скорочення від
([(1 + 2 = 3) + 3 = 6] + 4 = 10) + 5 = 15,
Але запис некоректний, тому що кожна з частин рівняння має різне значення. Якщо інтерпретувати суворо так, як це написано, то буде