Konverter Inci ke Pecahan - Kalkulator Desimal ke Pecahan
Konversi inci desimal ke pecahan secara instan. Alat gratis untuk pengerjaan kayu, konstruksi & DIY. Cocok dengan penanda penggaris standar (1/8", 1/16", 1/32", 1/64"). Dapatkan pecahan sederhana dengan cepat.
Konverter Inci ke Pecahan
Cara Penggunaan
- Masukkan pengukuran desimal dalam inci
- Lihat pecahan yang setara
- Salin hasil jika diperlukan
Dokumentasi
Konverter Inci ke Pecahan: Ubah Desimal Inci Menjadi Pecahan Praktis
Pernahkah Anda memandangi cetak biru yang menunjukkan "2,375 inci" sementara meteran Anda hanya memiliki tanda pecahan kecil? Anda tidak sendirian. Mengonversi desimal inci ke pecahan adalah sesuatu yang akan Anda temui terus-menerus dalam pekerjaan kayu, konstruksi, dan pekerjaan DIY.
Inilah yang membuatnya rumit: alat ukur Anda berbicara dalam pecahan (1/8", 1/16", 3/32"), tetapi rencana modern, gambar CAD, dan alat digital mengeluarkan desimal. Konverter ini secara instan menjembatani kesenjangan tersebut, mengubah desimal seperti 0,625 menjadi 5/8 yang benar-benar dapat Anda temukan di penggaris Anda.
Yang akan Anda dapatkan dari alat ini:
- Konversi instan ke pecahan penggaris standar (tanpa gimnastik matematika mental)
- Penyebut praktis yang cocok dengan alat ukur sebenarnya (8an, 16an, 32an, 64an)
- Hasil disederhanakan dalam bentuk paling sederhana (Anda akan melihat 1/4, bukan 16/64)
- Bilangan campuran untuk nilai di atas 1 inci (seperti 2 3/8 bukan 19/8)
Cara Kerja Konversi Desimal ke Pecahan
Matematika di balik konversi ini cukup sederhana setelah Anda memahami logikanya. Apa yang sebenarnya Anda lakukan adalah menemukan pecahan standar (dengan penyebut seperti 8, 16, 32, atau 64) yang paling mendekati nilai desimal Anda. Biarkan saya menjelaskan bagaimana ini sebenarnya bekerja dalam praktiknya.
Proses Matematis
Berikut adalah langkah-langkah logis yang diikuti konverter:
-
Pisahkan bilangan bulat: Pisahkan desimal menjadi bagian bilangan bulat dan desimal
- Misalnya, 2,75 menjadi 2 dan 0,75
-
Ubah bagian desimal menjadi pecahan:
- Kalikan desimal dengan pangkat 10 untuk mendapatkan bilangan bulat di pembilang
- Gunakan pangkat 10 yang sama sebagai penyebut
- Misalnya, 0,75 menjadi 75/100
-
Sederhanakan pecahan dengan membagi pembilang dan penyebut dengan faktor pembagi terbesar (FPB)
- Untuk 75/100, FPB-nya adalah 25
- Membagi keduanya dengan 25 menghasilkan 3/4
-
Gabungkan bilangan bulat dengan pecahan yang disederhanakan untuk mendapatkan bilangan campuran
- 2 dan 3/4 menjadi 2 3/4
Pertimbangan Praktis untuk Konstruksi dan Pengerjaan Kayu
Inilah sesuatu yang saya pelajari dari bertahun-tahun bekerja dengan pengukuran: tidak semua pecahan diciptakan sama saat Anda sebenarnya membangun sesuatu. Pita ukur Anda memiliki tanda tertentu, dan Anda membutuhkan pecahan yang sesuai dengan tanda tersebut.
Alat ukur standar menggunakan penyebut yang merupakan pangkat 2:
- 2, 4, 8 - Tanda dasar yang terdapat pada setiap pita ukur
- 16 - Standar untuk sebagian besar konstruksi dan pengerjaan kayu
- 32 - Umum pada pita ukur berkualitas untuk pekerjaan presisi
- 64 - Terdapat pada penggaris khusus untuk pengerjaan kayu halus
Presisi yang Anda butuhkan tergantung pada apa yang Anda bangun:
- Kerangka kasar: 1/8" atau bahkan 1/4" sering sudah cukup (Anda memotong 2x4, bukan kotak perhiasan)
- Pengerjaan finishing: Anda akan menginginkan presisi 1/16" untuk pekerjaan trim dan pembuatan kabinet
- Pengerjaan kayu halus: Mungkin membutuhkan 1/32" atau 1/64" untuk sambungan dan pekerjaan detail
Kesalahan umum? Menggunakan presisi lebih dari yang diizinkan oleh alat atau bahan Anda. Jika Anda bekerja dengan kayu dimensi yang bervariasi sekitar 1/16" pun, mengukur hingga 1/64" hanya menciptakan pekerjaan ekstra. Sesuaikan presisi Anda dengan persyaratan proyek Anda.
Rumus
Rumus matematis untuk mengonversi desimal menjadi pecahan dapat dinyatakan sebagai:
Untuk bilangan desimal :
- Misalkan (fungsi lantai, memberikan bagian bilangan bulat)
- Misalkan (bagian pecahan)
- Nyatakan sebagai di mana adalah jumlah tempat desimal
- Sederhanakan menjadi dengan membagi keduanya dengan faktor pembagi terbesar
- Hasilnya adalah
Misalnya, untuk mengonversi 2,375:
- Menyederhanakan dengan membagi keduanya dengan 125 menghasilkan
- Hasilnya adalah
Panduan Langkah demi Langkah: Menggunakan Konverter Inci ke Pecahan
Menggunakan alat ini sangatlah sederhana. Tidak ada pengaturan rumit, tidak perlu konfigurasi. Cukup masukkan angka, hasilnya adalah pecahan.
Proses Memulai Cepat
-
Masukkan pengukuran desimal Anda
- Ketik desimal positif apa pun (1,25, 0,375, 2,5, dll.)
- Berfungsi dengan berbagai jumlah tempat desimal
- Contoh: Masukkan "2,375" dari gambar CAD Anda
-
Dapatkan pecahan secara instan
- Hasilnya muncul segera - tidak perlu tombol hitung
- Anda akan melihat pecahan yang disederhanakan (1/4, bukan 2/8)
- Nilai di atas 1 ditampilkan sebagai bilangan campuran (2 3/8, bukan 19/8)
-
Periksa penggaris visual
- Lihat pecahan Anda direpresentasikan secara grafis
- Bagian berwarna menunjukkan tepat di mana ini berada pada penggaris
- Berguna untuk memastikan kembali Anda mendapatkan tanda yang benar
-
Salin dan gunakan
- Klik "Salin" untuk mengambil pecahan
- Tempel di mana pun Anda membutuhkannya - catatan, daftar potongan, rencana proyek
Tips Pro untuk Penggunaan Nyata
Saat bekerja dari cetak biru: Biarkan konverter ini terbuka di ponsel atau tablet Anda di lokasi kerja. Ini lebih cepat daripada menghitung di kepala, terutama saat Anda bekerja dengan beberapa pengukuran.
Untuk daftar potongan: Konversikan semua desimal terlebih dahulu, kemudian susun berdasarkan ukuran. Lebih mudah melihat pola dan meminimalkan limbah saat semuanya dalam pecahan.
Periksa ulang pengukuran kritis: Jika suatu pengukuran terlihat aneh, verifikasi apakah masuk akal di pita ukur Anda. Konversi yang memberi Anda sesuatu seperti 23/64" mungkin akurat, tetapi periksa ulang desimal asli - pecahan aneh kadang menunjukkan kesalahan di hulu.
Kesalahan Umum yang Harus Dihindari Saat Mengonversi Desimal ke Pecahan
Dari pengalaman, berikut adalah kesalahan yang paling menyebabkan sakit kepala:
Membulatkan Alih-alih Mengonversi
Kesalahan: Melihat 2.375 dan membulatkannya menjadi 2.4, kemudian mencoba bekerja dengan itu.
Mengapa ini menjadi masalah: Anda memperkenalkan kesalahan. 2.4 bukan pecahan standar - Anda akan mencoba menemukan sesuatu antara 2 3/8 (2.375) dan 2 7/16 (2.4375) pada penggaris Anda. Cukup konversi dengan benar menjadi 2 3/8.
Menggunakan Presisi yang Tidak Dapat Diukur Alat Anda
Kesalahan: Mengonversi menjadi 1/64" saat pita ukur Anda hanya menunjukkan tanda 1/16".
Mengapa ini menjadi masalah: Anda tidak dapat mengukur secara akurat apa yang tidak dapat Anda lihat. Mengonversi menjadi 23/64" secara matematis benar tetapi praktis tidak berguna jika Anda tidak dapat menemukan tanda tersebut pada alat pengukur Anda.
Lupa Menyederhanakan Pecahan
Kesalahan: Melaporkan pengukuran sebagai 8/16" alih-alih 1/2", atau 4/8" alih-alih 1/2".
Mengapa ini menjadi masalah: Membuat daftar potongan lebih sulit dibaca dan meningkatkan kemungkinan kesalahan. Selalu kurangi pecahan ke tingkat terendah - konverter ini melakukannya secara otomatis, tetapi jika Anda menghitung secara manual, jangan lewatkan langkah ini.
Mencampurkan Bilangan Bulat dan Pecahan
Kesalahan: Mengonversi 2.75 dan menulis 2 1/4 alih-alih 2 3/4.
Mengapa ini menjadi masalah: Anda baru saja kehilangan setengah inci. Periksa kembali: 0.75 = 3/4, bukan 1/4. Kesalahan ini terjadi lebih sering daripada yang seharusnya, terutama saat Anda lelah atau terburu-buru.
Contoh Konversi Umum
Berikut adalah konversi desimal ke pecahan yang sering digunakan pada sebagian besar proyek:
| Desimal Inci | Pecahan | Penggunaan Umum |
|---|---|---|
| 0.125 | 1/8 | Pekerjaan kayu dasar, potongan kasar |
| 0.25 | 1/4 | Pengerjaan kayu umum, pembingkaian |
| 0.375 | 3/8 | Ketebalan multipleks, ukuran perangkat keras |
| 0.5 | 1/2 | Pengukuran standar di berbagai aplikasi |
| 0.625 | 5/8 | Ketebalan dinding gipsum, dimensi kayu |
| 0.75 | 3/4 | Ketebalan papan umum, ukuran pipa |
| 0.875 | 7/8 | Perangkat keras khusus, penyesuaian halus |
| 0.0625 | 1/16 | Pengerjaan kayu presisi, rencana detail |
| 0.03125 | 1/32 | Pengerjaan kayu halus, pembuatan kabinet |
| 0.015625 | 1/64 | Pengukuran sangat presisi, permesinan |
Konversi ini sangat berguna saat bekerja dengan pita ukur, penggaris, dan alat lain yang menggunakan penandaan inci pecahan daripada nilai desimal.
Kasus Penggunaan Nyata untuk Konversi Desimal ke Pecahan
Mari saya bagikan di mana Anda sebenarnya membutuhkan konverter ini dalam praktik. Ini bukan skenario teoritis - ini adalah situasi yang dihadapi profesional dan penggemar DIY setiap hari.
Konstruksi dan Pembangunan
Tantangannya: Gambar arsitektur menggunakan desimal, tetapi meteran Anda tidak. Anda berdiri di lokasi proyek dengan cetak biru yang bertuliskan "2,875 inci" dan Anda perlu menandainya pada kayu saat ini juga.
Skenario umum:
- Pembingkaian: Insinyur struktur Anda menentukan jarak 3,625" dari sisi. Anda perlu menandai 3 5/8" pada balok Anda.
- Dinding gipsum: Memotong panel untuk ruang yang berukuran 47,375" pada pengukur laser. Itu adalah 47 3/8" untuk pisau utilitas Anda.
- Pekerjaan trim: Papan dasar membutuhkan potongan pada sudut aneh yang dihitung dalam desimal. Mengonversi dengan cepat membuat pekerjaan tetap berjalan.
- Tata letak ubin: Ruangan Anda lebar 144,75". Membaginya menjadi 144 3/4" membantu Anda merencanakan jarak ubin dengan akurat.
Pengerjaan Kayu dan Proyek DIY
Kenyataannya: Perangkat lunak desain bekerja dalam desimal. Alat bengkel Anda memiliki skala pecahan. Ketidaksesuaian ini memperlambat Anda kecuali Anda dapat mengonversi dengan cepat.
Apa yang saya lihat berhasil dengan baik:
- Pembuatan furnitur: Ketika kaki meja perlu berukuran 28,375" (28 3/8"), dan pagar gergaji meja Anda membaca pecahan
- Pembuatan kabinet: Bukaan laci yang dihitung menjadi 14,625" perlu menjadi 14 5/8" untuk pengukuran dan pemotongan Anda
- Pekerjaan router: Dimensi templat dari rencana digital perlu dikonversi sebelum Anda dapat menyiapkan jig Anda
- Sambungan: Dimensi mortise dan tenon yang dihitung secara digital harus diterjemahkan ke pengukuran pecahan untuk penandaan
Kesalahan yang sering terjadi di sini? Membulatkan alih-alih mengonversi dengan benar. Jika Anda membulatkan 2,375" menjadi 2,4" daripada mengonversi menjadi 2 3/8", sambungan Anda tidak akan pas. Sudah pernah di sana, menyia-nyiakan kayu yang bagus dengan melakukan itu.
[Terjemahan dilanjutkan dengan cara yang sama untuk sisa dokumen]
Sejarah Pengukuran Pecahan Inci
Penggunaan pecahan dalam pengukuran memiliki akar historis yang dalam dan terus memengaruhi praktik modern, terutama di Amerika Serikat dan negara-negara lain yang menggunakan sistem pengukuran imperial.
Asal-Usul Inci
Inci sebagai satuan pengukuran berasal dari peradaban kuno:
- Kata "inci" berasal dari bahasa Latin "uncia", yang berarti satu per dua belas
- Inci awal didasarkan pada referensi alami seperti lebar ibu jari
- Pada abad ke-7, bangsa Anglo-Saxon mendefinisikan inci sebagai panjang tiga biji jelai
Standarisasi Inci
Standarisasi inci terjadi secara bertahap:
- Pada tahun 1324, Raja Edward II dari Inggris menetapkan bahwa satu inci harus sama dengan "tiga biji jelai yang kering dan bulat, diletakkan ujung ke ujung"
- Pada abad ke-18, definisi yang lebih presisi muncul berdasarkan prinsip ilmiah
- Pada tahun 1959, perjanjian yard dan pound internasional mendefinisikan inci secara tepat sebagai 25,4 milimeter
Pembagian Pecahan dalam Penggunaan Praktis
Pembagian inci menjadi pecahan berkembang untuk memenuhi kebutuhan praktis:
- Pengukuran awal menggunakan setengah, seperempat, dan seperdelapan untuk keperluan sehari-hari
- Seiring meningkatnya kebutuhan presisi, seperenambelas menjadi umum
- Pada abad ke-19, dengan manufaktur industri, sepertigapuluh dua dan enam puluh empat menjadi standar untuk pekerjaan halus
- Pembagian biner ini (pangkat 2) praktis karena dapat dengan mudah dibuat dengan membagi jarak menjadi dua secara berulang
Bertahan di Masa Kini
Meskipun terjadi pergeseran global menuju sistem metrik, inci pecahan masih umum di beberapa negara:
- Industri konstruksi dan pengerjaan kayu di Amerika Serikat masih didominasi oleh inci pecahan
- Pipa, perangkat keras, dan banyak barang manufaktur memiliki ukuran menggunakan standar pecahan
- Keakraban dan infrastruktur yang ada (alat, rencana, komponen) telah mempertahankan sistem ini meskipun ada alternatif metrik
Konteks historis ini menjelaskan mengapa mengonversi antara desimal dan inci pecahan tetap penting saat ini, menjembatani kesenjangan antara perhitungan desimal modern dan praktik pengukuran tradisional.
Contoh Kode untuk Konversi Desimal ke Pecahan
Berikut adalah implementasi konversi desimal ke pecahan dalam berbagai bahasa pemrograman:
1function decimalToFraction(decimal, maxDenominator = 64) {
2 // Tangani kasus khusus
3 if (isNaN(decimal)) return { wholeNumber: 0, numerator: 0, denominator: 1 };
4
5 // Ekstrak bagian bilangan bulat
6 const wholeNumber = Math.floor(Math.abs(decimal));
7 let decimalPart = Math.abs(decimal) - wholeNumber;
8
9 // Jika merupakan bilangan bulat, kembalikan segera
10 if (decimalPart === 0) {
11 return {
12 wholeNumber: decimal < 0 ? -wholeNumber : wholeNumber,
13 numerator: 0,
14 denominator: 1
15 };
16 }
17
18 // Temukan aproksimasi pecahan terbaik
19 let bestNumerator = 1;
20 let bestDenominator = 1;
21 let bestError = Math.abs(decimalPart - bestNumerator / bestDenominator);
22
23 for (let denominator = 1; denominator <= maxDenominator; denominator++) {
24 const numerator = Math.round(decimalPart * denominator);
25 const error = Math.abs(decimalPart - numerator / denominator);
26
27 if (error < bestError) {
28 bestNumerator = numerator;
29 bestDenominator = denominator;
30 bestError = error;
31
32 // Jika menemukan kecocokan tepat, hentikan segera
33 if (error < 1e-10) break;
34 }
35 }
36
37 // Temukan pembagi terbesar untuk menyederhanakan
38 const gcd = (a, b) => b ? gcd(b, a % b) : a;
39 const divisor = gcd(bestNumerator, bestDenominator);
40
41 return {
42 wholeNumber: decimal < 0 ? -wholeNumber : wholeNumber,
43 numerator: bestNumerator / divisor,
44 denominator: bestDenominator / divisor
45 };
46}
47
48// Contoh penggunaan
49console.log(decimalToFraction(2.75)); // { wholeNumber: 2, numerator: 3, denominator: 4 }
501def decimal_to_fraction(decimal, max_denominator=64):
2 import math
3
4 # Tangani kasus khusus
5 if math.isnan(decimal):
6 return {"whole_number": 0, "numerator": 0, "denominator": 1}
7
8 # Ekstrak bagian bilangan bulat
9 sign = -1 if decimal < 0 else 1
10 decimal = abs(decimal)
11 whole_number = math.floor(decimal)
12 decimal_part = decimal - whole_number
13
14 # Jika merupakan bilangan bulat, kembalikan segera
15 if decimal_part == 0:
16 return {"whole_number": sign * whole_number, "numerator": 0, "denominator": 1}
17
18 # Temukan aproksimasi pecahan terbaik
19 best_numerator = 1
20 best_denominator = 1
21 best_error = abs(decimal_part - best_numerator / best_denominator)
22
23 for denominator in range(1, max_denominator + 1):
24 numerator = round(decimal_part * denominator)
25 error = abs(decimal_part - numerator / denominator)
26
27 if error < best_error:
28 best_numerator = numerator
29 best_denominator = denominator
30 best_error = error
31
32 # Jika menemukan kecocokan tepat, hentikan segera
33 if error < 1e-10:
34 break
35
36 # Temukan pembagi terbesar untuk menyederhanakan
37 def gcd(a, b):
38 while b:
39 a, b = b, a % b
40 return a
41
42 divisor = gcd(best_numerator, best_denominator)
43
44 return {
45 "whole_number": sign * whole_number,
46 "numerator": best_numerator // divisor,
47 "denominator": best_denominator // divisor
48 }
49
50# Contoh penggunaan
51print(decimal_to_fraction(1.25)) # {'whole_number': 1, 'numerator': 1, 'denominator': 4}
521public class DecimalToFraction {
2 public static class Fraction {
3 public int wholeNumber;
4 public int numerator;
5 public int denominator;
6
7 public Fraction(int wholeNumber, int numerator, int denominator) {
8 this.wholeNumber = wholeNumber;
9 this.numerator = numerator;
10 this.denominator = denominator;
11 }
12
13 @Override
14 public String toString() {
15 if (numerator == 0) {
16 return String.valueOf(wholeNumber);
17 } else if (wholeNumber == 0) {
18 return numerator + "/" + denominator;
19 } else {
20 return wholeNumber + " " + numerator + "/" + denominator;
21 }
22 }
23 }
24
25 public static Fraction decimalToFraction(double decimal, int maxDenominator) {
26 // Tangani kasus khusus
27 if (Double.isNaN(decimal)) {
28 return new Fraction(0, 0, 1);
29 }
30
31 // Ekstrak bagian bilangan bulat
32 int sign = decimal < 0 ? -1 : 1;
33 decimal = Math.abs(decimal);
34 int wholeNumber = (int) Math.floor(decimal);
35 double decimalPart = decimal - wholeNumber;
36
37 // Jika merupakan bilangan bulat, kembalikan segera
38 if (decimalPart == 0) {
39 return new Fraction(sign * wholeNumber, 0, 1);
40 }
41
42 // Temukan aproksimasi pecahan terbaik
43 int bestNumerator = 1;
44 int bestDenominator = 1;
45 double bestError = Math.abs(decimalPart - (double) bestNumerator / bestDenominator);
46
47 for (int denominator = 1; denominator <= maxDenominator; denominator++) {
48 int numerator = (int) Math.round(decimalPart * denominator);
49 double error = Math.abs(decimalPart - (double) numerator / denominator);
50
51 if (error < bestError) {
52 bestNumerator = numerator;
53 bestDenominator = denominator;
54 bestError = error;
55
56 // Jika menemukan kecocokan tepat, hentikan segera
57 if (error < 1e-10) break;
58 }
59 }
60
61 // Temukan pembagi terbesar untuk menyederhanakan
62 int divisor = gcd(bestNumerator, bestDenominator);
63
64 return new Fraction(
65 sign * wholeNumber,
66 bestNumerator / divisor,
67 bestDenominator / divisor
68 );
69 }
70
71 private static int gcd(int a, int b) {
72 while (b > 0) {
73 int temp = b;
74 b = a % b;
75 a = temp;
76 }
77 return a;
78 }
79
80 public static void main(String[] args) {
81 Fraction result = decimalToFraction(2.375, 64);
82 System.out.println(result); // 2 3/8
83 }
84}
851Function DecimalToFraction(decimalValue As Double, Optional maxDenominator As Integer = 64) As String
2 ' Tangani kasus khusus
3 If IsError(decimalValue) Then
4 DecimalToFraction = "0"
5 Exit Function
6 End If
7
8 ' Ekstrak bagian bilangan bulat
9 Dim sign As Integer
10 sign = IIf(decimalValue < 0, -1, 1)
11 decimalValue = Abs(decimalValue)
12 Dim wholeNumber As Integer
13 wholeNumber = Int(decimalValue)
14 Dim decimalPart As Double
15 decimalPart = decimalValue - wholeNumber
16
17 ' Jika merupakan bilangan bulat, kembalikan segera
18 If decimalPart = 0 Then
19 DecimalToFraction = CStr(sign * wholeNumber)
20 Exit Function
21 End If
22
23 ' Temukan aproksimasi pecahan terbaik
24 Dim bestNumerator As Integer
25 Dim bestDenominator As Integer
26 Dim bestError As Double
27
28 bestNumerator = 1
29 bestDenominator = 1
30 bestError = Abs(decimalPart - bestNumerator / bestDenominator)
31
32 Dim denominator As Integer
33 Dim numerator As Integer
34 Dim error As Double
35
36 For denominator = 1 To maxDenominator
37 numerator = Round(decimalPart * denominator)
38 error = Abs(decimalPart - numerator / denominator)
39
40 If error < bestError Then
41 bestNumerator = numerator
42 bestDenominator = denominator
43 bestError = error
44
45 ' Jika menemukan kecocokan tepat, hentikan segera
46 If error < 0.0000000001 Then Exit For
47 End If
48 Next denominator
49
50 ' Temukan pembagi terbesar untuk menyederhanakan
51 Dim divisor As Integer
52 divisor = GCD(bestNumerator, bestDenominator)
53
54 ' Format hasilnya
55 Dim result As String
56 If wholeNumber = 0 Then
57 result = CStr(bestNumerator \ divisor) & "/" & CStr(bestDenominator \ divisor)
58 Else
59 If bestNumerator = 0 Then
60 result = CStr(sign * wholeNumber)
61 Else
62 result = CStr(sign * wholeNumber) & " " & CStr(bestNumerator \ divisor) & "/" & CStr(bestDenominator \ divisor)
63 End If
64 End If
65
66 DecimalToFraction = result
67End Function
68
69Function GCD(a As Integer, b As Integer) As Integer
70 Dim temp As Integer
71
72 Do While b <> 0
73 temp = b
74 b = a Mod b
75 a = temp
76 Loop
77
78 GCD = a
79End Function
80
81' Contoh penggunaan dalam sel:
82' =DecimalToFraction(1.75) ' Mengembalikan "1 3/4"
831#include <iostream>
2#include <cmath>
3#include <string>
4
5struct Fraction {
6 int wholeNumber;
7 int numerator;
8 int denominator;
9
10 std::string toString() const {
11 if (numerator == 0) {
12 return std::to_string(wholeNumber);
13 } else if (wholeNumber == 0) {
14 return std::to_string(numerator) + "/" + std::to_string(denominator);
15 } else {
16 return std::to_string(wholeNumber) + " " + std::to_string(numerator) + "/" + std::to_string(denominator);
17 }
18 }
19};
20
21int gcd(int a, int b) {
22 while (b) {
23 int temp = b;
24 b = a % b;
25 a = temp;
26 }
27 return a;
28}
29
30Fraction decimalToFraction(double decimal, int maxDenominator = 64) {
31 // Tangani kasus khusus
32 if (std::isnan(decimal)) {
33 return {0, 0, 1};
34 }
35
36 // Ekstrak bagian bilangan bulat
37 int sign = decimal < 0 ? -1 : 1;
38 decimal = std::abs(decimal);
39 int wholeNumber = static_cast<int>(std::floor(decimal));
40 double decimalPart = decimal - wholeNumber;
41
42 // Jika merupakan bilangan bulat, kembalikan segera
43 if (decimalPart == 0) {
44 return {sign * wholeNumber, 0, 1};
45 }
46
47 // Temukan aproksimasi pecahan terbaik
48 int bestNumerator = 1;
49 int bestDenominator = 1;
50 double bestError = std::abs(decimalPart - static_cast<double>(bestNumerator) / bestDenominator);
51
52 for (int denominator = 1; denominator <= maxDenominator; denominator++) {
53 int numerator = static_cast<int>(std::round(decimalPart * denominator));
54 double error = std::abs(decimalPart - static_cast<double>(numerator) / denominator);
55
56 if (error < bestError) {
57 bestNumerator = numerator;
58 bestDenominator = denominator;
59 bestError = error;
60
61 // Jika menemukan kecocokan tepat, hentikan segera
62 if (error < 1e-10) break;
63 }
64 }
65
66 // Temukan pembagi terbesar untuk menyederhanakan
67 int divisor = gcd(bestNumerator, bestDenominator);
68
69 return {
70 sign * wholeNumber,
71 bestNumerator / divisor,
72 bestDenominator / divisor
73 };
74}
75
76int main() {
77 Fraction result = decimalToFraction(3.625);
78 std::cout << result.toString() << std::endl; // Keluaran: 3 5/8
79
80 return 0;
81}
82Pertanyaan Umum tentang Konversi Desimal ke Pecahan
Apakah perbedaan sebenarnya antara inci desimal dan inci pecahan?
Keduanya adalah cara mengekspresikan pengukuran yang sama. Inci desimal menggunakan sistem desimal (1,75"), sedangkan inci pecahan menggunakan pecahan (1 3/4"). Bayangkan seperti mengatakan "satu koma tujuh lima" versus "satu dan tiga per empat" - jarak yang sama, notasi berbeda.
Perbedaan praktisnya? Alat digital Anda (CAD, kalkulator, pengukur laser) biasanya menghasilkan desimal. Alat pengukur fisik (meteran, penggaris, siku kombinasi) biasanya memiliki penandaan pecahan. Konverter ini menjembatani kesenjangan tersebut.
Mengapa orang masih menggunakan pecahan saat desimal lebih mudah untuk matematika?
Pertanyaan yang bagus. Jawaban jujurnya: inersia historis dan infrastruktur yang ada.
Pecahan bertahan karena:
- Peralatan: Miliaran dolar peralatan pengukuran memiliki penandaan pecahan
- Standar: Bahan bangunan dan perangkat keras diproduksi dengan dimensi pecahan
- Keterampilan: Pekerja berpengalaman dapat bekerja lebih cepat dengan pecahan karena itulah yang telah mereka gunakan selama puluhan tahun
- Pembagian biner: Pecahan menggunakan pangkat 2 (1/2, 1/4, 1/8) secara alami cocok dengan cara membagi jarak dengan berulang kali membaginya menjadi dua
Dunia metrik menyelesaikan ini dengan memulai dari awal dengan sistem berbasis desimal. Di wilayah yang menggunakan pengukuran imperial, kita terjebak dalam konversi antara kedua sistem.
[Terjemahan dilanjutkan...]
Referensi dan Standar
Standar Pengukuran Resmi
-
Lembaga Nasional Standar dan Teknologi (NIST). "Unit Panjang." Laboratorium Pengukuran Fisik NIST. https://www.nist.gov/pml/owm/si-units-length - Mendefinisikan inci resmi sebagai tepat 25,4 milimeter sesuai perjanjian yard dan pound internasional tahun 1959.
-
Publikasi Khusus NIST 811. "Panduan Penggunaan Sistem Internasional Unit (SI)." Departemen Perdagangan AS. Memberikan panduan resmi tentang konversi unit dan presisi pengukuran.
-
ISO 1 (Organisasi Standardisasi Internasional). "Spesifikasi Produk Geometris (GPS) — Suhu referensi standar untuk spesifikasi properti geometris dan dimensional." Menetapkan standar pengukuran internasional.
Referensi Teknis
-
Perhimpunan Insinyur Mesin Amerika (ASME) Y14.5. "Dimensi dan Toleransi." Standar gambar teknik untuk mengekspresikan pengukuran dan toleransi dalam format desimal dan pecahan.
-
Oberg, E., dkk. (2020). Buku Pegangan Mesin, Edisi ke-31. Industrial Press. Referensi definitif untuk konversi desimal-pecahan dalam pemesinan dan manufaktur.
Konteks Historis
-
Lembaga Nasional Standar dan Teknologi. (2008). "Amerika Serikat dan Sistem Metrik." Publikasi Khusus NIST 1143. Mendokumentasikan perkembangan historis sistem pengukuran di Amerika Serikat.
-
Klein, H. A. (1988). Ilmu Pengukuran: Tinjauan Historis. Penerbit Dover. Sejarah komprehensif sistem pengukuran dan evolusinya.
Metode Matematis
- Matematika Konkret: Fondasi Ilmu Komputer oleh Graham, Knuth, dan Patenaude (1994). Addison-Wesley. Membahas pecahan berkelanjutan dan algoritma aproksimasi rasional yang digunakan dalam konversi desimal ke pecahan.
Alat Pengukuran Terkait
Bekerja dengan pengukuran berarti selalu beralih antara unit dan format. Berikut adalah konverter lain yang cocok dengan alat ini:
- Konverter Pecahan ke Desimal - Operasi kebalikan: ubah pecahan kembali ke desimal untuk perhitungan
- Kalkulator Kaki dan Inci - Tambah dan kurangi pengukuran dalam kaki, inci, dan pecahan
- Konverter Metrik ke Imperial - Jembatani kesenjangan antara mm/cm dan inci pecahan
- Kalkulator Desimal ke Pecahan - Konversi desimal ke pecahan serbaguna (tidak terbatas pada inci)
Alat-alat ini saling melengkapi untuk cakupan alur kerja pengukuran lengkap dalam proyek konstruksi, pengerjaan kayu, dan fabrikasi.