Beräkna molmassan (molekylvikten) av vilken kemisk förening som helst genom att ange dess formel. Hanterar komplexa formler med parenteser och ger detaljerade nedbrytningar av elementen.
Molar Mass Calculator är ett viktigt verktyg för kemister, studenter och forskare som behöver snabbt och noggrant bestämma den molekylära vikten av kemiska föreningar. Molar massa, även känd som molekylvikt, representerar massan av en mol av ett ämne och uttrycks i gram per mol (g/mol). Denna kalkylator gör att du kan ange vilken kemisk formel som helst och omedelbart beräkna dess molära massa genom att summera atomvikterna för alla beståndsdelar enligt deras proportioner i föreningen.
Att förstå molär massa är grundläggande för olika kemiska beräkningar, inklusive stökiometri, lösningsberedning och reaktionsanalys. Oavsett om du balanserar kemiska ekvationer, förbereder laboratorielösningar eller studerar kemiska egenskaper, är det avgörande att känna till den exakta molära massan av föreningar för att få korrekta resultat.
Vår användarvänliga kalkylator hanterar ett brett spektrum av kemiska formler, från enkla molekyler som H₂O till komplexa organiska föreningar och salter med flera element. Verktyget känner automatiskt igen elementsymboler, tolkar subscript och bearbetar parenteser för att säkerställa korrekta beräkningar för vilken giltig kemisk formel som helst.
Molär massa definieras som massan av en mol av ett ämne, mätt i gram per mol (g/mol). En mol innehåller exakt 6.02214076 × 10²³ elementära enheter (atomer, molekyler eller formelenheter) - ett nummer som kallas Avogadros konstant. Den molära massan av en förening är lika med summan av atomvikterna för alla atomer i molekylen, med hänsyn till deras respektive kvantiteter.
Till exempel har vatten (H₂O) en molär massa på cirka 18.015 g/mol, beräknad genom att lägga till:
Detta innebär att en mol vattenmolekyler (6.02214076 × 10²³ vattenmolekyler) har en massa av 18.015 gram.
Den molära massan (M) av en förening beräknas med följande formel:
Där:
För föreningar med komplexa formler som involverar parenteser följer beräkningen dessa steg:
Till exempel, beräkna den molära massan av kalciumhydroxid Ca(OH)₂:
Ange den kemiska formeln
Visa resultaten
Analysera elementnedbrytningen
Kopiera eller dela resultat
Kalkylatorn ger flera bitar av information:
Molar Mass Calculator tjänar många praktiska tillämpningar inom olika områden:
Även om vår Molar Mass Calculator erbjuder en bekväm online-lösning, finns det alternativa metoder och verktyg för att beräkna molär massa:
Manuell beräkning: Använda ett periodiskt system och kalkylator för att summera atommassor
Specialiserad kemiprogramvara: Program som ChemDraw, Gaussian eller ACD/Labs
Mobilappar: Kemi-fokuserade applikationer för smartphones
Spreadsheet-mallar: Anpassade Excel- eller Google Sheets-formler
Vetenskapliga kalkylatorer: Avancerade modeller med kemifunktioner
Vår online Molar Mass Calculator kombinerar de bästa aspekterna av dessa alternativ: den är gratis, kräver ingen installation, hanterar komplexa formler, ger detaljerade nedbrytningar och erbjuder ett intuitivt användargränssnitt.
Konceptet molär massa har utvecklats parallellt med vår förståelse av atomteori och kemisk sammansättning. Här är viktiga milstolpar i dess utveckling:
John Daltons atomteori (1803) föreslog att element består av odelbara partiklar kallade atomer med karaktäristiska massor. Detta lade grunden för att förstå att föreningar bildas när atomer kombineras i specifika förhållanden.
Jöns Jacob Berzelius introducerade kemiska symboler för element år 1813, vilket skapade ett standardiserat notationssystem som gjorde det möjligt att systematiskt representera kemiska formler.
Stanislao Cannizzaro klargjorde skillnaden mellan atomvikt och molekylvikt vid Karlsruhe-kongressen (1860), vilket hjälpte till att lösa förvirringen i det vetenskapliga samfundet.
Konceptet molen utvecklades i slutet av 1800-talet, även om termen inte användes allmänt förrän senare.
International Union of Pure and Applied Chemistry (IUPAC) grundades 1919 och började standardisera kemisk nomenklatur och mätningar.
År 1971 antogs molen som en SI-grundenhet, definierad som mängden substans som innehåller lika många elementära enheter som det finns atomer i 12 gram kol-12.
Den senaste omdefinitionen av molen (gällande från den 20 maj 2019) definierar den i termer av Avogadros konstant, som nu är fastställd till exakt 6.02214076 × 10²³ elementära enheter.
Med datorernas framväxt blev det enklare och mer tillgängligt att beräkna molär massa. Tidig kemisk programvara på 1980- och 1990-talen inkluderade molär massakalkylatorer som grundläggande funktioner.
Internetrevolutionen i slutet av 1990-talet och början av 2000-talet förde med sig online molär massakalkylatorer, vilket gjorde dessa verktyg fritt tillgängliga för studenter och yrkesverksamma världen över.
Dagens avancerade molär massakalkylatorer, som vår, kan hantera komplexa formler med parenteser, tolka ett brett spektrum av kemiska notationer och ge detaljerade nedbrytningar av elementära sammansättningar.
Här är kodexempel för att beräkna molär massa i olika programmeringsspråk:
1# Python-exempel för att beräkna molär massa
2def calculate_molar_mass(formula):
3 # Ordbok över atomvikter
4 atomic_masses = {
5 'H': 1.008, 'He': 4.0026, 'Li': 6.94, 'Be': 9.0122, 'B': 10.81,
6 'C': 12.011, 'N': 14.007, 'O': 15.999, 'F': 18.998, 'Ne': 20.180,
7 'Na': 22.990, 'Mg': 24.305, 'Al': 26.982, 'Si': 28.085, 'P': 30.974,
8 'S': 32.06, 'Cl': 35.45, 'Ar': 39.948, 'K': 39.098, 'Ca': 40.078
9 # Lägg till fler element efter behov
10 }
11
12 # Parsar formeln och beräknar molär massa
13 i = 0
14 total_mass = 0
15
16 while i < len(formula):
17 if formula[i].isupper():
18 # Början av en elementsymbol
19 if i + 1 < len(formula) and formula[i+1].islower():
20 element = formula[i:i+2]
21 i += 2
22 else:
23 element = formula[i]
24 i += 1
25
26 # Kontrollera efter siffror (subscript)
27 count = ''
28 while i < len(formula) and formula[i].isdigit():
29 count += formula[i]
30 i += 1
31
32 count = int(count) if count else 1
33
34 if element in atomic_masses:
35 total_mass += atomic_masses[element] * count
36 else:
37 i += 1 # Hoppa över oväntade tecken
38
39 return total_mass
40
41# Exempel på användning
42print(f"H2O: {calculate_molar_mass('H2O'):.3f} g/mol")
43print(f"NaCl: {calculate_molar_mass('NaCl'):.3f} g/mol")
44print(f"C6H12O6: {calculate_molar_mass('C6H12O6'):.3f} g/mol")
45
1// JavaScript-exempel för att beräkna molär massa
2function calculateMolarMass(formula) {
3 const atomicMasses = {
4 'H': 1.008, 'He': 4.0026, 'Li': 6.94, 'Be': 9.0122, 'B': 10.81,
5 'C': 12.011, 'N': 14.007, 'O': 15.999, 'F': 18.998, 'Ne': 20.180,
6 'Na': 22.990, 'Mg': 24.305, 'Al': 26.982, 'Si': 28.085, 'P': 30.974,
7 'S': 32.06, 'Cl': 35.45, 'Ar': 39.948, 'K': 39.098, 'Ca': 40.078
8 // Lägg till fler element efter behov
9 };
10
11 let i = 0;
12 let totalMass = 0;
13
14 while (i < formula.length) {
15 if (formula[i].match(/[A-Z]/)) {
16 // Början av en elementsymbol
17 let element;
18 if (i + 1 < formula.length && formula[i+1].match(/[a-z]/)) {
19 element = formula.substring(i, i+2);
20 i += 2;
21 } else {
22 element = formula[i];
23 i += 1;
24 }
25
26 // Kontrollera efter siffror (subscript)
27 let countStr = '';
28 while (i < formula.length && formula[i].match(/[0-9]/)) {
29 countStr += formula[i];
30 i += 1;
31 }
32
33 const count = countStr ? parseInt(countStr, 10) : 1;
34
35 if (atomicMasses[element]) {
36 totalMass += atomicMasses[element] * count;
37 }
38 } else {
39 i += 1; // Hoppa över oväntade tecken
40 }
41 }
42
43 return totalMass;
44}
45
46// Exempel på användning
47console.log(`H2O: ${calculateMolarMass('H2O').toFixed(3)} g/mol`);
48console.log(`NaCl: ${calculateMolarMass('NaCl').toFixed(3)} g/mol`);
49console.log(`C6H12O6: ${calculateMolarMass('C6H12O6').toFixed(3)} g/mol`);
50
1import java.util.HashMap;
2import java.util.Map;
3
4public class MolarMassCalculator {
5 private static final Map<String, Double> ATOMIC_MASSES = new HashMap<>();
6
7 static {
8 // Initiera atomvikter
9 ATOMIC_MASSES.put("H", 1.008);
10 ATOMIC_MASSES.put("He", 4.0026);
11 ATOMIC_MASSES.put("Li", 6.94);
12 ATOMIC_MASSES.put("Be", 9.0122);
13 ATOMIC_MASSES.put("B", 10.81);
14 ATOMIC_MASSES.put("C", 12.011);
15 ATOMIC_MASSES.put("N", 14.007);
16 ATOMIC_MASSES.put("O", 15.999);
17 ATOMIC_MASSES.put("F", 18.998);
18 ATOMIC_MASSES.put("Ne", 20.180);
19 ATOMIC_MASSES.put("Na", 22.990);
20 ATOMIC_MASSES.put("Mg", 24.305);
21 ATOMIC_MASSES.put("Al", 26.982);
22 ATOMIC_MASSES.put("Si", 28.085);
23 ATOMIC_MASSES.put("P", 30.974);
24 ATOMIC_MASSES.put("S", 32.06);
25 ATOMIC_MASSES.put("Cl", 35.45);
26 ATOMIC_MASSES.put("Ar", 39.948);
27 ATOMIC_MASSES.put("K", 39.098);
28 ATOMIC_MASSES.put("Ca", 40.078);
29 // Lägg till fler element efter behov
30 }
31
32 public static double calculateMolarMass(String formula) {
33 int i = 0;
34 double totalMass = 0;
35
36 while (i < formula.length()) {
37 if (Character.isUpperCase(formula.charAt(i))) {
38 // Början av en elementsymbol
39 String element;
40 if (i + 1 < formula.length() && Character.isLowerCase(formula.charAt(i+1))) {
41 element = formula.substring(i, i+2);
42 i += 2;
43 } else {
44 element = formula.substring(i, i+1);
45 i += 1;
46 }
47
48 // Kontrollera efter siffror (subscript)
49 StringBuilder countStr = new StringBuilder();
50 while (i < formula.length() && Character.isDigit(formula.charAt(i))) {
51 countStr.append(formula.charAt(i));
52 i += 1;
53 }
54
55 int count = countStr.length() > 0 ? Integer.parseInt(countStr.toString()) : 1;
56
57 if (ATOMIC_MASSES.containsKey(element)) {
58 totalMass += ATOMIC_MASSES.get(element) * count;
59 }
60 } else {
61 i += 1; // Hoppa över oväntade tecken
62 }
63 }
64
65 return totalMass;
66 }
67
68 public static void main(String[] args) {
69 System.out.printf("H2O: %.3f g/mol%n", calculateMolarMass("H2O"));
70 System.out.printf("NaCl: %.3f g/mol%n", calculateMolarMass("NaCl"));
71 System.out.printf("C6H12O6: %.3f g/mol%n", calculateMolarMass("C6H12O6"));
72 }
73}
74
1' Excel VBA-funktion för molär massaberäkning
2Function CalculateMolarMass(formula As String) As Double
3 ' Definiera atomvikter i en ordbok
4 Dim atomicMasses As Object
5 Set atomicMasses = CreateObject("Scripting.Dictionary")
6
7 atomicMasses.Add "H", 1.008
8 atomicMasses.Add "He", 4.0026
9 atomicMasses.Add "Li", 6.94
10 atomicMasses.Add "Be", 9.0122
11 atomicMasses.Add "B", 10.81
12 atomicMasses.Add "C", 12.011
13 atomicMasses.Add "N", 14.007
14 atomicMasses.Add "O", 15.999
15 atomicMasses.Add "F", 18.998
16 atomicMasses.Add "Ne", 20.18
17 atomicMasses.Add "Na", 22.99
18 atomicMasses.Add "Mg", 24.305
19 atomicMasses.Add "Al", 26.982
20 atomicMasses.Add "Si", 28.085
21 atomicMasses.Add "P", 30.974
22 atomicMasses.Add "S", 32.06
23 atomicMasses.Add "Cl", 35.45
24 atomicMasses.Add "Ar", 39.948
25 atomicMasses.Add "K", 39.098
26 atomicMasses.Add "Ca", 40.078
27 ' Lägg till fler element efter behov
28
29 Dim i As Integer
30 Dim totalMass As Double
31 Dim element As String
32 Dim countStr As String
33 Dim count As Integer
34
35 i = 1
36 totalMass = 0
37
38 Do While i <= Len(formula)
39 If Asc(Mid(formula, i, 1)) >= 65 And Asc(Mid(formula, i, 1)) <= 90 Then
40 ' Början av en elementsymbol
41 If i + 1 <= Len(formula) And Asc(Mid(formula, i + 1, 1)) >= 97 And Asc(Mid(formula, i + 1, 1)) <= 122 Then
42 element = Mid(formula, i, 2)
43 i = i + 2
44 Else
45 element = Mid(formula, i, 1)
46 i = i + 1
47 End If
48
49 ' Kontrollera efter siffror (subscript)
50 countStr = ""
51 Do While i <= Len(formula) And Asc(Mid(formula, i, 1)) >= 48 And Asc(Mid(formula, i, 1)) <= 57
52 countStr = countStr & Mid(formula, i, 1)
53 i = i + 1
54 Loop
55
56 If countStr = "" Then
57 count = 1
58 Else
59 count = CInt(countStr)
60 End If
61
62 If atomicMasses.Exists(element) Then
63 totalMass = totalMass + atomicMasses(element) * count
64 End If
65 Else
66 i = i + 1 ' Hoppa över oväntade tecken
67 End If
68 Loop
69
70 CalculateMolarMass = totalMass
71End Function
72
73' Användning i Excel:
74' =CalculateMolarMass("H2O")
75' =CalculateMolarMass("NaCl")
76' =CalculateMolarMass("C6H12O6")
77
1#include <iostream>
2#include <string>
3#include <map>
4#include <cctype>
5#include <iomanip>
6
7double calculateMolarMass(const std::string& formula) {
8 // Definiera atomvikter
9 std::map<std::string, double> atomicMasses = {
10 {"H", 1.008}, {"He", 4.0026}, {"Li", 6.94}, {"Be", 9.0122}, {"B", 10.81},
11 {"C", 12.011}, {"N", 14.007}, {"O", 15.999}, {"F", 18.998}, {"Ne", 20.180},
12 {"Na", 22.990}, {"Mg", 24.305}, {"Al", 26.982}, {"Si", 28.085}, {"P", 30.974},
13 {"S", 32.06}, {"Cl", 35.45}, {"Ar", 39.948}, {"K", 39.098}, {"Ca", 40.078}
14 // Lägg till fler element efter behov
15 };
16
17 double totalMass = 0.0;
18 size_t i = 0;
19
20 while (i < formula.length()) {
21 if (std::isupper(formula[i])) {
22 // Början av en elementsymbol
23 std::string element;
24 if (i + 1 < formula.length() && std::islower(formula[i+1])) {
25 element = formula.substr(i, 2);
26 i += 2;
27 } else {
28 element = formula.substr(i, 1);
29 i += 1;
30 }
31
32 // Kontrollera efter siffror (subscript)
33 std::string countStr;
34 while (i < formula.length() && std::isdigit(formula[i])) {
35 countStr += formula[i];
36 i += 1;
37 }
38
39 int count = countStr.empty() ? 1 : std::stoi(countStr);
40
41 if (atomicMasses.find(element) != atomicMasses.end()) {
42 totalMass += atomicMasses[element] * count;
43 }
44 } else {
45 i += 1; // Hoppa över oväntade tecken
46 }
47 }
48
49 return totalMass;
50}
51
52int main() {
53 std::cout << std::fixed << std::setprecision(3);
54 std::cout << "H2O: " << calculateMolarMass("H2O") << " g/mol" << std::endl;
55 std::cout << "NaCl: " << calculateMolarMass("NaCl") << " g/mol" << std::endl;
56 std::cout << "C6H12O6: " << calculateMolarMass("C6H12O6") << " g/mol" << std::endl;
57
58 return 0;
59}
60
Vår Molar Mass Calculator inkluderar flera avancerade funktioner för att förbättra dess funktionalitet:
Kalkylatorn kan bearbeta komplexa kemiska formler med:
För utbildningssyften ger kalkylatorn:
Kalkylatorn inkluderar en visuell representation av molekylens sammansättning, som visar det relativa massbidraget från varje element genom ett färgkodad stapeldiagram.
Kalkylatorn validerar inmatningsformler och ger hjälpsamma felmeddelanden för:
Molär massa är massan av en mol av ett ämne, mätt i gram per mol (g/mol). Den är lika med summan av atommassorna för alla atomer i en molekyl, med hänsyn till deras respektive kvantiteter.
Molär massa och molekylvikt representerar samma fysiska kvantitet men uttrycks i olika enheter. Molär massa uttrycks i gram per mol (g/mol), medan molekylvikt ofta uttrycks i atommassenheter (amu) eller dalton (Da). Numeriskt har de samma värde.
Molär massa är avgörande för att konvertera mellan mängden substans (mol) och massa (gram). Denna konversion är grundläggande för stökiometriska beräkningar, lösningsberedning och många andra kemiska tillämpningar.
Vår kalkylator använder de senaste atommassavärdena från IUPAC och ger resultat med fyra decimalers precision. För de flesta kemiska beräkningar är denna nivå av noggrannhet mer än tillräcklig.
Ja, kalkylatorn kan bearbeta komplexa formler med parenteser, såsom Ca(OH)2, och till och med nästlade parenteser som Fe(C5H5)2.
Standard molär massaberäkningar använder det viktade genomsnittet av naturligt förekommande isotoper. Om du behöver beräkna massan av en specifik isotop måste du använda den exakta massan av den isotopen istället för den standardatommassan.
Elementnedbrytningen visar varje elements symbol, atommassa, antal i formeln, massbidrag till totalen och procentandel efter massa. Detta hjälper dig att förstå föreningens sammansättning.
Ja, kalkylatorn fungerar för vilken giltig kemisk formel som helst, inklusive organiska föreningar som C6H12O6 (glukos) eller C8H10N4O2 (koffein).
Kontrollera din formel för:
Du kan använda den beräknade molära massan för att:
Brown, T. L., LeMay, H. E., Bursten, B. E., Murphy, C. J., Woodward, P. M., & Stoltzfus, M. W. (2017). Chemistry: The Central Science (14:e uppl.). Pearson.
Zumdahl, S. S., & Zumdahl, S. A. (2016). Chemistry (10:e uppl.). Cengage Learning.
International Union of Pure and Applied Chemistry. (2018). Atomic Weights of the Elements 2017. Pure and Applied Chemistry, 90(1), 175-196. https://doi.org/10.1515/pac-2018-0605
Wieser, M. E., Holden, N., Coplen, T. B., et al. (2013). Atomic weights of the elements 2011. Pure and Applied Chemistry, 85(5), 1047-1078. https://doi.org/10.1351/PAC-REP-13-03-02
National Institute of Standards and Technology. (2018). NIST Chemistry WebBook, SRD 69. https://webbook.nist.gov/chemistry/
Chang, R., & Goldsby, K. A. (2015). Chemistry (12:e uppl.). McGraw-Hill Education.
Petrucci, R. H., Herring, F. G., Madura, J. D., & Bissonnette, C. (2016). General Chemistry: Principles and Modern Applications (11:e uppl.). Pearson.
Royal Society of Chemistry. (2023). Periodic Table. https://www.rsc.org/periodic-table
Vår Molar Mass Calculator är utformad för att vara ett pålitligt, användarvänligt verktyg för studenter, lärare, forskare och yrkesverksamma inom kemi och relaterade områden. Vi hoppas att den hjälper dig med dina kemiska beräkningar och ökar din förståelse för molekylär sammansättning.
Försök att beräkna molär massan av olika föreningar för att se hur deras sammansättningar påverkar deras egenskaper!
Upptäck fler verktyg som kan vara användbara för din arbetsflöde