水和物式計算機
水和物に含まれる水分子の数が分かります。24.96 gの水和物を乾燥させ、モル質量159.6 g/molの塩が15.96 g残れば、nは5でMX·5H2Oになります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 無水物質量
- 15.96
- 水和物質量
- 24.96
- 塩のモル質量
- 159.6
- 水のモル質量
- 18
- 水の質量
- 9
- 塩のモル
- 0.1
- 水のモル
- 0.5
- N
- 5
水和物式計算機は、実験室の質量を MX·nH2O の整数またはほぼ整数の n —塩の水和物に結び付いた結晶水— に変換します。重量分析データから水和物式を求める学生、既知の水和物に対してロット票を照合する技術者、化学量論ソフトの単体テストを書く開発者は、いずれも表計算を開かずに同じ決定的な n が必要です。
塩の水和物における結晶水の意味
多くのイオン性固体は、結晶格子に一定数の水分子を取り込んで水から結晶化します。標準式は MX·nH2O と書き、MX は無水塩、n は結晶水 —式単位あたりの水分子数— です。実験的には、水和物の秤量試料を水が追い出せるまで加熱し、無水残渣を秤量し、失った水のモルと残った無水塩のモルを比較して n を求めます。
質量は同一単位を共有し、モル質量もその単位に合わせる必要があるため(例えばグラムと g/mol)、モル比は無次元の n に縮約されます。授業問題ではしばしば硫酸銅(II)五水和物 CuSO4·5H2O や塩化バリウム二水和物 BaCl2·2H2O が使われ、丁寧なデータなら丸め後に n は五または二付近になります。
本計算機はその重量分析の閉じた式だけを実装し、表の水和物を参照せず、化学式を解析せず、乾燥不足や表面吸着水も補正しません。塩のモル質量がゼロまたは非正のとき塩のモルは未定義なので、無意味な除算のために水和物係数をでっち上げず入力を拒否します。
実用のヒント、限界、関連検索
両質量を同じ単位に保ち、呼ぶ前に g/mol(または kg/mol)で一致するモル質量と組み合わせてください。試料をグラム、モル質量を kg/mol で混ぜると、純粋な算術は警告なく n を千倍します。クライアントを制御できるときは整形済み文字列より数値送信を優先します。
数値文字列は厳密な有限数値パターンに一致する場合のみ受け付けます。本ページは水和物式計算機・結晶水計算機・質量からの nH2O をオンラインで探す人向けであり、化学式パーサでも元素別パーセント組成ツールでも密度換算でもありません。すでに両質量と無水モル質量があり n だけが必要なときに本機能を選び、パーセントだけの文章題なら先に質量へ直してください。
活用例
水和物式の宿題確認
学生は教科書の重量分析問題から無水質量と水和物質量、塩のモル質量を入力し、提出前に手計算の n を決定的な結果と照合します。
既知水和物の実験室検証
技術者は乾燥バッチが期待する結晶水(例:硫酸銅五水和物で n ≈ 5)と一致するか、毎回表計算を開かずに確認します。
よくある質問
結晶水とは何ですか?
塩の水和物 MX·nH2O で式単位あたりに結び付いた水分子の数 n です。重量分析では n = (失った水のモル) / (残った無水塩のモル) です。
水のモル質量を指定する必要はありますか?
課程や規格が 18.0 など別値を使うときだけ上書きしてください。
なぜ n が整数になりませんか?
実験のばらつき、乾燥不足、丸めたモル質量で n が整数から少しずれることがよくあります。
塩のモル質量が0のときはどうなりますか?
塩の物質量が定まらないため、その入力は受け付けません。意味のない割り算から係数を作り出すのではなく、値を見直すようお知らせします。
実験で結晶水の数はどのように求めますか?
水和物の試料を量り、水がなくなるまで加熱してから、残った無水塩を量ります。その差が失われた水で、水と塩の物質量の比がnになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/hydrate-formula \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"anhydrous_mass":15.96,"hydrate_mass":24.96,"salt_molar_mass":159.6}'const res = await fetch("https://api.kit.forhosting.com/chem/hydrate-formula", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"anhydrous_mass": 15.96,
"hydrate_mass": 24.96,
"salt_molar_mass": 159.6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/hydrate-formula",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"anhydrous_mass": 15.96,
"hydrate_mass": 24.96,
"salt_molar_mass": 159.6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/hydrate-formula", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"anhydrous_mass":15.96,"hydrate_mass":24.96,"salt_molar_mass":159.6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"anhydrous_mass":15.96,"hydrate_mass":24.96,"salt_molar_mass":159.6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/hydrate-formula", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"anhydrous_mass": 15.96,
"hydrate_mass": 24.96,
"salt_molar_mass": 159.6
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.hydrate_formula",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
穏やかな加熱後の無水塩の質量、元の水和物の質量、無水塩のモル質量を入力すると、水の質量を差し引き、塩のモル質量と水のモル質量(既定 18.01528 g/mol)で両質量をモルに直し、n を水のモルを塩のモルで割った値として返し、読みやすい式文字列、最も近い整数 n_rounded、段階的な代入も付けます。塩のモル質量がゼロのとき比は未定義なので、API は Infinity や静かな NaN の代わりに明確な invalid_input を返します。経路は純粋な算術で、ネットワーク・乱数種・時計に依存しないため、無料のブラウザ実行と前払い API は固定小数点丸めのあと毎回同じ JSON を返します。
塩の水和物における結晶水の意味
閉じた式は n が (m_water を M_water で割ったもの) を (m_salt を M_salt で割ったもの) で割った値で、m_water は水和物質量から無水質量を引いたもの、M_salt は無水塩のモル質量、M_water は水のモル質量です。
API の呼び出し方と返却内容
省略時ソルバーは 18.01528 g/mol を使います。無水質量は厳密に正、水和物質量は無水質量より厳密に大きく(水の質量が正になるように)、塩と水のモル質量は厳密に正でなければなりません。一掛ける十のマイナス十五以下、または非正のモル質量はゼロとして拒否されます。三つの有限な必須数を持つ JSON 本体を送ってください: anhydrous_mass(別名 mass_anhydrous, m_anhydrous, m_salt, anhydrous, salt_mass)、hydrate_mass(別名 mass_hydrate, m_hydrate, hydrate, hydrated_mass)、salt_molar_mass(別名 M_salt, molar_mass_salt, anhydrous_molar_mass, M_anhydrous, molar_mass)。任意で water_molar_mass(別名 M_water, molar_mass_water, water_mm)を含められます。絶対値は公開上限の一兆以内に保ち、Worker とブラウザ上の IEEE 倍精度で中間比が有限になるようにします。成功時、応答は丸めた anhydrous_mass, hydrate_mass, water_mass, salt_molar_mass, water_molar_mass を返し、moles_salt と moles_water、n に丸めた比、n_rounded に最近傍整数、n が整数に近いとき MX·5H2O のような hydrate_formula、formula に n equals m_water over M_water over m_salt over M_salt、unit に H2O per formula unit、message に短い要約、steps に代入行の順序付き配列を設定します。検証失敗—欠落フィールド、非有限数、絶対限界外、塩のモル質量ゼロ、無水質量ゼロ、水和物質量が無水より大きくない—は invalid_input を返し課金されません。料金は成功リクエストあたり定額 $0.002 で、単位 item と限界単位価格ゼロです。
実用のヒント、限界、関連検索
教育用の例:水和物二十四点九六グラムから無水十五点九六グラム、M_salt 百五十九点六、M_water 十八なら n は五。水和物二十四点四グラムから無水二十点八グラム、M_salt 二百八、M_water 十八なら n は二。塩のモル質量ゼロはゼロ除算を防ぐ硬い invalid_input 経路を示します。実験のばらつきで n が三点一や四点九でも、n_rounded は教科書の整数を、n は実験ノート用の正確な比を保ちます。invalid_input を返す失敗タスクは前払い残高を消費しないため、学習者がわざと塩のモル質量をゼロにする探索スクリプトのコストを抑えられます。往復確認は容易です。 水の質量・塩のモル・水のモル・その比を手計算し、同じ十二桁丸めの範囲で公開フィールドと一致することを確認します。
連携の活用例
化学量論ソフトの単体テスト
既知の n 値と塩のモル質量ゼロの意図的な拒否を、コーディング課題と API 契約テスト用に生成します。
技術的な質問
塩のモル質量がゼロだとどうなりますか?
M_salt がゼロのとき塩のモルは未定義です。本ツールは Infinity や NaN の代わりに invalid_input を返します。
水和物式計算機は無料ですか?
ブラウザツールは無料でローカル実行されます。API 呼び出しは前払い KIT 残高を成功リクエストあたり $0.002 で使用し、失敗タスクは課金されません。