GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

đơn vị - Trực tuyến trên đám mây

Chạy các đơn vị trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là các đơn vị lệnh có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


đơn vị - chương trình tính toán và chuyển đổi đơn vị

SYNOPSIS


'các đơn vị' [lựa chọn] [từ đơn vị [đơn vị]]

MÔ TẢ


Chương trình 'đơn vị' chuyển đổi các đại lượng được biểu thị trong các hệ thống đo lường khác nhau thành
tương đương của chúng trong các hệ thống đo lường khác. Giống như nhiều chương trình tương tự, nó có thể
xử lý các thay đổi quy mô nhân. Nó cũng có thể xử lý các chuyển đổi phi tuyến như
Độ F sang độ C; Thấy chưa Nhiệt độ Chuyển đổi. Chương trình cũng có thể thực hiện
chuyển đổi từ và thành tổng đơn vị, chẳng hạn như chuyển đổi giữa mét và feet cộng
inch.

Thao tác cơ bản rất đơn giản: bạn nhập các đơn vị bạn muốn chuyển đổi từ và các đơn vị
mà bạn muốn chuyển đổi đến. Bạn có thể sử dụng chương trình một cách tương tác với các lời nhắc, hoặc bạn
có thể sử dụng nó từ dòng lệnh.

Ngoài các chuyển đổi đơn vị đơn giản, 'đơn vị' có thể được sử dụng như một khoa học có mục đích chung
máy tính theo dõi các đơn vị trong các phép tính của nó. Bạn có thể tạo thành phức hợp tùy ý
biểu thức toán học của các thứ nguyên bao gồm tổng, tích, thương số, lũy thừa và
rễ của các kích thước chẵn. Do đó, bạn có thể đảm bảo độ chính xác và nhất quán về chiều khi
làm việc với các biểu thức dài liên quan đến nhiều đơn vị khác nhau có thể kết hợp trong
những cách phức tạp; để có một minh họa, hãy xem Phức tạp đơn vị Biểu thức.

Các đơn vị được xác định trong một tệp dữ liệu bên ngoài. Bạn có thể sử dụng tệp dữ liệu mở rộng
đi kèm với chương trình này hoặc bạn có thể cung cấp tệp dữ liệu của riêng mình để phù hợp với nhu cầu của bạn. Bạn
cũng có thể sử dụng tệp dữ liệu của riêng bạn để bổ sung tệp dữ liệu chuẩn.

Bạn có thể thay đổi hành vi mặc định của 'đơn vị' bằng các tùy chọn khác nhau được cung cấp trên lệnh
hàng. Nhìn thấy Kêu gọi Các đơn vị để biết mô tả về các tùy chọn có sẵn.

TƯƠNG TÁC CÙNG VỚI CÁC ĐƠN VỊ
Để gọi các đơn vị để sử dụng tương tác, hãy nhập 'các đơn vị'tại dấu nhắc trình bao của bạn. Chương trình sẽ
in một cái gì đó như thế này:

Tỷ giá hối đoái từ www.timegenie.com vào ngày 2014-03-05
2860 đơn vị, 109 tiền tố, 85 đơn vị phi tuyến

Bạn có:

Tại dấu nhắc 'Bạn có:', hãy nhập số lượng và đơn vị bạn đang chuyển đổi từ. Đối với
Ví dụ, nếu bạn muốn chuyển đổi mười mét sang feet, hãy nhập '10 mét'. Tiếp theo, 'đơn vị' sẽ
in 'Bạn muốn:'. Bạn nên nhập các đơn vị bạn muốn chuyển đổi đến. Để chuyển đổi sang feet,
bạn sẽ gõ 'đôi chân'. Nếu thư viện 'dòng đọc' được biên dịch trong thì chuyển hướng sẽ hoàn thành
tên đơn vị. Nhìn thấy Đường dây đọc cá nhân hóa để biết thêm thông tin về 'readline'. Để thoát khỏi
chương trình dưới Unix, nhấn Ctrl-C or Ctrl-D. Trong Windows, nhấn Ctrl-C or ctrl-z; với
sau đó, bạn cũng có thể cần phải nhấn đăng ký hạng mục thi.

Kết quả sẽ được hiển thị theo hai cách. Dòng đầu tiên của đầu ra, được đánh dấu bằng
dấu '*' để biểu thị phép nhân, cung cấp kết quả của chuyển đổi bạn đã yêu cầu.
Dòng đầu ra thứ hai, được đánh dấu bằng '/' để biểu thị sự phân chia, cho
nghịch đảo của hệ số chuyển đổi. Nếu bạn chuyển đổi 10 mét sang feet, 'đơn vị' sẽ in

* 32.808399
/ 0.03048

cho bạn biết rằng 10 mét tương đương với khoảng 32.8 feet. Số thứ hai cho
chuyển đổi theo hướng ngược lại. Trong trường hợp này, nó cho bạn biết rằng 1 foot bằng
khoảng 0.03 dekameter kể từ khi dekameter là 10 mét. Nó cũng cho bạn biết rằng 1 / 32.8 là
về 0.03.

Chương trình 'đơn vị' in ra nghịch đảo vì đôi khi nó là một số thuận tiện hơn.
Ví dụ: trong ví dụ trên, giá trị nghịch đảo là một chuyển đổi chính xác: một chân là
chính xác là 0.03048 dekameters. Nhưng con số đưa ra theo hướng khác là không chính xác.

Nếu bạn chuyển đổi ngũ cốc sang pound, bạn sẽ thấy như sau:

Bạn có: ngũ cốc
Bạn muốn: pound
* 0.00014285714
/ 7000

Từ dòng thứ hai của kết quả, bạn có thể thấy ngay rằng một hạt bằng
bảy phần nghìn của một bảng Anh. Điều này không quá rõ ràng từ dòng đầu tiên của đầu ra.
Nếu bạn thấy định dạng đầu ra khó hiểu, hãy thử sử dụng tùy chọn '--verbose':

Bạn có: hạt
Bạn muốn: aeginamina
hạt = 0.00010416667 aeginamina
ngũ cốc = (1/9600) aeginamina

Nếu bạn yêu cầu chuyển đổi giữa các đơn vị đo lường thứ nguyên tương hỗ, thì 'đơn vị'
sẽ hiển thị kết quả chuyển đổi với một ghi chú bổ sung cho biết rằng
chuyển đổi đã được thực hiện:

Bạn có: 6 ohms
Bạn muốn: siemens
chuyển đổi tương hỗ
* 0.16666667
/ 6

Chuyển đổi đối ứng có thể bị chặn bằng cách sử dụng tùy chọn '--strict'. Như thường lệ, hãy sử dụng
Tùy chọn '--verbose' để nhận đầu ra dễ hiểu hơn:

Bạn có: tex
Bạn muốn: typp
chuyển đổi tương hỗ
1 / tex = 496.05465 kiểu chữ
1 / tex = (1 / 0.0020159069) typp

Bạn có: 20 dặm / giờ
Bạn muốn: giây / dặm
chuyển đổi tương hỗ
1/20 mph = 180 giây / dặm
1/20 mph = (1 / 0.0055555556) giây / dặm

Nếu bạn nhập các loại đơn vị không tương thích, chương trình 'đơn vị' sẽ in thông báo cho biết
rằng các đơn vị không phù hợp và nó sẽ hiển thị dạng rút gọn cho từng đơn vị:

Bạn có: ergs / giờ
Bạn muốn: fathoms kg ^ 2 / ngày
lỗi phù hợp
2.7777778e-11 kg m ^ 2 / giây ^ 3
2.1166667e-05 kg ^ 2 m / giây

Nếu bạn chỉ muốn tìm dạng rút gọn hoặc định nghĩa của một đơn vị, chỉ cần nhấn đăng ký hạng mục thi at
dấu nhắc 'Bạn muốn:'. Đây là một ví dụ:

Bạn có: jansky
Bạn muốn:
Định nghĩa: fluxunit = 1e-26 W / m ^ 2 Hz = 1e-26 kg / s ^ 2

Kết quả đầu ra từ 'đơn vị' chỉ ra rằng jansky được định nghĩa là bằng một fluxunit
đến lượt nó được định nghĩa là sự kết hợp nhất định của watt, mét và hertz. Các
dạng giảm hoàn toàn (và trong trường hợp này hơi khó hiểu hơn) xuất hiện ở ngoài cùng bên phải.

Một số đơn vị được đặt tên được coi là không có thứ nguyên trong một số trường hợp. Các đơn vị này bao gồm
radian và steradian. Các đơn vị này sẽ được coi là bằng 1 trong các chuyển đổi đơn vị.
Công suất bằng momen xoắn nhân với vận tốc góc. Chuyển đổi này chỉ có thể được thực hiện nếu
radian là không thứ nguyên.

Bạn có: (14 ft lbf) (12 radian / giây)
Bạn muốn: watt
* 227.77742
/ 0.0043902509

Nó cũng có thể tính toán gốc và các lũy thừa không nguyên khác của các đơn vị không thứ nguyên;
điều này cho phép các tính toán như độ cao của quỹ đạo không đồng bộ địa lý:

Bạn có: cuberoot (G earthmass / (circle / siderealday) ^ 2) - earthradius
Bạn muốn: dặm
* 22243.267
/ 4.4957425e-05

Các đơn vị không thứ nguyên được đặt tên không được coi là không thứ nguyên trong các ngữ cảnh khác. Họ không thể
được sử dụng làm số mũ, vì vậy, ví dụ: 'mét ^ radian' bị cấm.

Nếu bạn muốn có một danh sách các tùy chọn, bạn có thể nhập '?'tại dấu nhắc' Bạn muốn: '. Chương trình
sẽ hiển thị danh sách các đơn vị được đặt tên phù hợp với đơn vị mà bạn đã nhập vào
lời nhắc 'Bạn có:' ở trên. Đơn vị có thể phù hợp kết hợp sẽ không xuất hiện trong danh sách này.

Đánh máy 'giúp đỡ'tại một trong hai lời nhắc sẽ hiển thị một thông báo trợ giúp ngắn. Bạn cũng có thể gõ 'giúp đỡ'
theo sau là tên đơn vị. Điều này sẽ gọi một máy nhắn tin trên cơ sở dữ liệu đơn vị tại điểm
nơi mà đơn vị đó được xác định. Bạn có thể đọc định nghĩa và nhận xét có thể cung cấp thêm
chi tiết hoặc thông tin lịch sử về đơn vị. (Nói chung, bạn có thể thoát ra khỏi trang
bằng cách nhấn 'q'.)

Đánh máy 'Tìm kiếm' văn bản sẽ hiển thị danh sách tất cả các đơn vị có tên chứa văn bản như là một
chuỗi con cùng với các định nghĩa của chúng. Điều này có thể hữu ích trong trường hợp bạn không chắc chắn
của tên đơn vị bên phải.

SỬ DỤNG CÁC ĐƠN VỊ KHÔNG TƯƠNG TÁC


Chương trình 'đơn vị' có thể thực hiện chuyển đổi đơn vị không tương tác từ dòng lệnh.
Để thực hiện việc này, hãy nhập lệnh, nhập biểu thức đơn vị ban đầu và nhập các đơn vị mới
bạn muốn. Nếu một biểu thức đơn vị chứa các ký tự không phải chữ và số, bạn có thể cần
bảo vệ nó khỏi sự diễn giải của shell bằng cách sử dụng các ký tự trích dẫn đơn hoặc kép.

Nếu bạn gõ

đơn vị "2 lít" quarts

sau đó 'đơn vị' sẽ in

* 2.1133764
/ 0.47317647

và sau đó thoát ra. Đầu ra cho bạn biết rằng 2 lít là khoảng 2.1 lít, hoặc cách khác
rằng một lít là khoảng 0.47 lần 2 lít.

Nếu chuyển đổi thành công, thì 'đơn vị' sẽ trả về thành công (không) cho lệnh gọi
môi trường. Nếu bạn nhập các đơn vị không phù hợp thì 'đơn vị' sẽ in một thông báo
dạng rút gọn của mỗi đơn vị và nó sẽ trả về lỗi (nonzero) cho lệnh gọi
môi trường.

Khi bạn gọi 'đơn vị' chỉ với một đối số, nó sẽ in ra định nghĩa của
đơn vị xác định. Nó sẽ trả về lỗi nếu đơn vị không được xác định và thành công nếu đơn vị
được định nghĩa.

UNIT ĐỊNH NGHĨA


Thông tin chuyển đổi được đọc từ tệp dữ liệu đơn vị được gọi là
'định nghĩa.units' và thường nằm trong thư mục '/ usr / share / units'. nếu bạn
gọi 'đơn vị' với tùy chọn '-V', nó sẽ in vị trí của tệp này. Mặc định
tệp bao gồm các định nghĩa cho tất cả các đơn vị, chữ viết tắt và tiền tố hệ mét quen thuộc. Nó
cũng bao gồm nhiều đơn vị tối nghĩa hoặc cổ xưa.

Nhiều hằng số tự nhiên được định nghĩa, bao gồm:

tỷ lệ pi của chu vi trên đường kính
c tốc độ ánh sáng
e điện tích trên một electron
gia tốc lực của trọng lực
số của nốt ruồi Avogadro
áp lực nước trên một đơn vị chiều cao của nước
Hg áp suất trên một đơn vị chiều cao của thủy ngân
đơn vị thiên văn au
k hằng số Boltzman
tính thấm mu0 của chân không
epsilon0 khả năng cho phép của chân không
G Hằng số hấp dẫn
tốc độ mach của âm thanh

Tệp dữ liệu tiêu chuẩn bao gồm khối lượng nguyên tử cho tất cả các nguyên tố và nhiều
các hằng số. Cũng bao gồm mật độ của các thành phần khác nhau được sử dụng trong nướng để
'2 cup flour_sifted' có thể được chuyển đổi thành 'gram'. Đây không phải là một danh sách đầy đủ.
Tham khảo tệp dữ liệu đơn vị để xem danh sách đầy đủ hoặc để xem các định nghĩa
đã sử dụng.

'Pound' là một đơn vị khối lượng. Để có được lực, hãy nhân với đơn vị chuyển đổi lực
'force' hoặc sử dụng viết tắt 'lbf'. (Lưu ý rằng 'g' đã được lấy làm tiêu chuẩn
viết tắt của gam.) Đơn vị 'ounce' cũng là một đơn vị khối lượng. Ounce chất lỏng là
'Fluounce' hoặc 'floz'. Khi các đơn vị năng lực của Anh khác với các đối tác của Mỹ,
chẳng hạn như gallon của Hoàng gia Anh, đơn vị được xác định theo cả hai cách với 'br' và 'us'
tiền tố. Cài đặt ngôn ngữ của bạn sẽ xác định giá trị của đơn vị chưa được định sẵn. Tiền tệ
có tiền tố là tên quốc gia của nó: 'belgiumfranc', 'britainpound'.

Khi tìm kiếm một đơn vị, nếu chuỗi được chỉ định không xuất hiện chính xác dưới dạng tên đơn vị,
sau đó chương trình 'đơn vị' sẽ cố gắng loại bỏ một 's', 'es' ở cuối. Các đơn vị tiếp theo sẽ thay thế
dấu 'ies' với 'y'. Nếu không thành công, 'đơn vị' sẽ kiểm tra tiền tố. Kho dữ liệu
bao gồm tất cả các tiền tố số liệu tiêu chuẩn. Mỗi đơn vị chỉ được phép sử dụng một tiền tố, vì vậy
'micromicrofarad' sẽ không thành công. Tuy nhiên, tiền tố có thể xuất hiện đơn lẻ mà không có đơn vị nào theo sau
chúng, vì vậy 'micro * microfarad' sẽ hoạt động, cũng như 'micro microfarad'.

Để biết đơn vị và tiền tố nào có sẵn, hãy đọc tệp dữ liệu đơn vị tiêu chuẩn,
được chú thích rộng rãi.

Tiếng Anh Phong tục Các đơn vị
Các đơn vị phong tục tiếng Anh khác nhau theo nhiều cách khác nhau ở các vùng khác nhau. Ở Anh, một khu phức hợp
hệ thống đo thể tích đặc trưng cho các gallon khác nhau cho các vật liệu khác nhau như
gallon rượu và gallon rượu khác nhau hai mươi phần trăm. Sự phức tạp này đã được quét
ra đi vào năm 1824 bởi một cuộc cải cách tạo ra một gallon hoàn toàn mới, gallon Đế quốc Anh
được định nghĩa là thể tích bị chiếm bởi mười pound nước. Trong khi đó ở Mỹ, gallon là
có nguồn gốc từ gallon rượu 1707 Winchester, có kích thước 231 inch khối. Những gallon này
khác nhau khoảng hai mươi phần trăm. Theo mặc định, nếu 'đơn vị' chạy trong ngôn ngữ 'en_GB', bạn sẽ
lấy số đo khối lượng của Anh. Nếu nó chạy ở ngôn ngữ 'en_US', bạn sẽ nhận được US
các biện pháp khối lượng. Ở các ngôn ngữ khác, các giá trị mặc định là định nghĩa của Hoa Kỳ. Nếu bạn ước
để buộc các định nghĩa khác nhau, sau đó đặt biến môi trường 'UNITS_ENGLISH' thành
'US' hoặc 'GB' để đặt các định nghĩa mong muốn độc lập với ngôn ngữ.

Trước năm 1959, giá trị của một thước Anh (và các đơn vị đo lường khác được xác định theo nó)
hơi khác nhau giữa các quốc gia nói tiếng Anh. Năm 1959, Úc, Canada, New
Zealand, Vương quốc Anh, Hoa Kỳ và Nam Phi đã thông qua người Canada
giá trị của 1 yard = 0.9144 m (chính xác), gần bằng nửa giữa các giá trị
được sử dụng bởi Anh và Mỹ; nó có lợi thế bổ sung là tạo ra 1 inch = 2.54 cm
(chính xác). Tiêu chuẩn mới này được gọi là Quốc Tế Sân. Úc, Canada và
Vương quốc Anh sau đó đã xác định tất cả các độ dài theo thông lệ về Sân quốc tế (Úc
không xác định lông dài hoặc thanh); bởi vì nhiều cuộc khảo sát đất đai của Hoa Kỳ liên quan đến
các đơn vị trước năm 1959, Hoa Kỳ tiếp tục xác định các đơn vị khảo sát thông thường (furlong, chain,
thanh và liên kết) xét về giá trị trước đó của chân, được gọi là US Khảo sát
chân. Hoa Kỳ đã xác định một US Khảo sát dặm là 5280 feet khảo sát của Hoa Kỳ và xác định một thời hiệu dặm
như một dặm khảo sát của Hoa Kỳ. Các giá trị của Hoa Kỳ cho các đơn vị này khác với các giá trị quốc tế
khoảng 2 ppm.

Chương trình 'đơn vị' sử dụng các giá trị quốc tế cho các đơn vị này; các giá trị của Hoa Kỳ có thể là
thu được bằng cách sử dụng tiền tố 'Hoa Kỳ' hoặc 'cuộc khảo sát'. Trong cả hai trường hợp, đơn giản
mối quan hệ quen thuộc giữa các đơn vị được duy trì, ví dụ: 1 'furlong' = 660 'ft', và 1
'USfurlong' = 660 'USft', mặc dù các số liệu tương đương có khác nhau một chút giữa hai
các trường hợp. Tiền tố 'Hoa Kỳ' hoặc tiền tố 'cuộc khảo sát' cũng có thể được sử dụng để lấy bản khảo sát Hoa Kỳ
dặm và giá trị của sân Hoa Kỳ trước năm 1959, ví dụ: 'USmile' hoặc 'Surveymile' (nhưng không
'USsurveymile'). Để nhận giá trị Hoa Kỳ của dặm quy chế, hãy sử dụng 'USstatutemile' hoặc
'Bạn cười'.

Ngoại trừ khoảng cách kéo dài trên hàng trăm dặm (chẳng hạn như trong Máy bay Tiểu bang Hoa Kỳ
Hệ tọa độ), sự khác biệt về số dặm thường không đáng kể:

Bạn có: 100 Surveymile - 100 dặm
Bạn muốn: inch
* 12.672025
/ 0.078913984

Các giá trị Vương quốc Anh trước năm 1959 cho các đơn vị này có thể nhận được bằng tiền tố 'Vương quốc Anh'.

Ở Hoa Kỳ, mẫu Anh được chính thức xác định theo chân khảo sát của Hoa Kỳ, nhưng 'đơn vị' sử dụng
một định nghĩa dựa trên bàn chân quốc tế. Nếu bạn muốn sử dụng mẫu Anh chính thức của Hoa Kỳ
'USacre' và tương tự sử dụng 'USacrefoot' cho phiên bản chính thức tại Hoa Kỳ của đơn vị đó. Các
chênh lệch giữa các đơn vị này là khoảng 4 phần triệu.

UNIT BIỂU THỨC


Các nhà khai thác
Bạn có thể nhập các đơn vị phức tạp hơn bằng cách kết hợp các đơn vị với các hoạt động như
nhân, chia, lũy thừa, cộng, trừ và dấu ngoặc đơn để phân nhóm.
Bạn có thể sử dụng các ký hiệu tùy chỉnh cho các toán tử này khi 'đơn vị' được gọi với
các tùy chọn mặc định. Ngoài ra, 'đơn vị' hỗ trợ một số tiện ích mở rộng, bao gồm mức độ ưu tiên cao
phép nhân bằng cách sử dụng khoảng trắng và toán tử chia số ưu tiên cao ('|')
có thể đơn giản hóa một số biểu thức.

Bạn nhân các đơn vị bằng dấu cách hoặc dấu hoa thị ('*'). Ví dụ tiếp theo cho thấy cả hai dạng:

Bạn có: arabicfoot * arabictradepound * lực
Bạn muốn: ft lbf
* 0.7296
/ 1.370614

Bạn có thể chia các đơn vị bằng dấu gạch chéo ('/') hoặc bằng 'per':

Bạn có: furlongs mỗi hai tuần
Bạn muốn: m / s
* 0.00016630986
/ 6012.8727

Bạn có thể sử dụng dấu ngoặc đơn để phân nhóm:

Bạn có: (1/2) kg / (kg / mét)
Bạn muốn: giải đấu
* 0.00010356166
/ 9656.0833

Phép nhân bằng cách sử dụng dấu cách có mức độ ưu tiên cao hơn phép chia bằng dấu gạch chéo và
đánh giá từ trái sang phải; trên thực tế, ký tự '/' đầu tiên đánh dấu sự bắt đầu của
mẫu số của một biểu thức đơn vị. Điều này làm cho việc nhập một thương số với một số
các số hạng ở mẫu số: 'J / mol K'. Toán tử '*' và '/' có cùng
ưu tiên, và được đánh giá từ trái sang phải; nếu bạn nhân với '*', bạn phải nhóm
các số hạng ở mẫu số có dấu ngoặc đơn: 'J / (mol * K)'.

Mức độ ưu tiên cao hơn của toán tử không gian có thể không phải lúc nào cũng có lợi. Ví dụ,
'm / ss / day' tương đương với 'm / ss day' và có kích thước chiều dài trên mỗi khối thời gian.
Tương tự, '1/2 mét' đề cập đến một đơn vị chiều dài tương ứng với 0.5 / mét,
có lẽ không phải những gì bạn dự định nếu bạn nhập biểu thức đó. Nhận được một nửa mét
bạn sẽ cần sử dụng dấu ngoặc đơn: '(1/2) mét'. Toán tử '*' thuận tiện cho
nhân một chuỗi các thương số. Ví dụ: 'm / s * s / ngày' tương đương với 'm / ngày'.
Tương tự, bạn có thể viết '1/2 * mét' để có nửa mét.

Chương trình 'đơn vị' hỗ trợ một tùy chọn khác cho các phân số: bạn có thể chỉ ra
phân chia số với thanh dọc ('|'), vì vậy nếu bạn muốn nửa mét, bạn có thể
viết '1 | 2 mét'. Bạn không thể sử dụng thanh dọc để biểu thị sự phân chia không phải số
đơn vị (ví dụ: 'm | s' dẫn đến một thông báo lỗi).

Quyền hạn của các đơn vị có thể được chỉ định bằng cách sử dụng ký tự '^', như được hiển thị trong phần sau
ví dụ, hoặc bằng cách nối đơn vị và số mũ của nó: 'cm3' tương đương với
'cm ^ 3'; nếu số mũ có nhiều hơn một chữ số, thì dấu '^' là bắt buộc. Bạn cũng có thể dùng
'**' như một toán tử số mũ.

Bạn có: cm ^ 3
Bạn muốn: gallon
* 0.00026417205
/ 3785.4118

Việc ghép nối chỉ hoạt động với một tên đơn vị duy nhất: nếu bạn viết '(m / s) 2', 'đơn vị' sẽ
coi nó như một phép nhân với 2. Khi một đơn vị bao gồm một tiền tố, các toán tử số mũ sẽ được áp dụng
cho sự kết hợp, do đó, 'centimet3' cho xăng-ti-mét khối. Nếu bạn tách tiền tố
từ đơn vị với bất kỳ toán tử nhân nào (ví dụ: 'centi mét ^ 3'), tiền tố là
được coi như một đơn vị riêng biệt, vì vậy số mũ chỉ áp dụng cho đơn vị không có tiền tố.
Ví dụ thứ hai tương đương với 'centi * (mét ^ 3)' và cho một phần trăm của khối
mét, không phải là một cm khối. Chương trình 'đơn vị' được giới hạn trong nội bộ các sản phẩm của
99 chiếc; theo đó, các biểu thức như 'mét ^ 100' hoặc 'joule ^ 34' (được biểu thị bên trong
vì 'kg ^ 34 m ^ 68 / s ^ 68') sẽ không thành công.

Dấu '|' toán tử có mức độ ưu tiên cao nhất, vì vậy bạn có thể viết căn bậc hai của hai
phần ba là '2 | 3 ^ 1 | 2'. Toán tử '^' có mức độ ưu tiên cao thứ hai và được đánh giá
từ phải sang trái, như thường lệ:

Bạn có: 5 * 2 ^ 3 ^ 2
Bạn muốn:
Định nghĩa: 2560

Với một đơn vị cơ sở không thứ nguyên, bất kỳ số mũ không thứ nguyên nào cũng có nghĩa (ví dụ:
'pi ^ exp (2.371)'). Mặc dù góc đôi khi được coi là không thứ nguyên, số mũ
không thể có kích thước của góc:

Bạn có: 2 ^ radian
^
Số mũ không không thứ nguyên

Nếu đơn vị cơ sở không phải là không thứ nguyên, thì số mũ phải là một số hữu tỉ p/q, và
thứ nguyên của đơn vị phải là lũy thừa của q, vì vậy 'gallon ^ 2 | 3' hoạt động nhưng 'acre ^ 2 | 3' không thành công.
Một số mũ sử dụng toán tử dấu gạch chéo ('/') (ví dụ: 'gallon ^ (2/3)') cũng được chấp nhận; các
dấu ngoặc đơn là cần thiết vì mức độ ưu tiên của '^' cao hơn mức độ ưu tiên của '/'. Từ
'đơn vị' không thể đại diện cho các thứ nguyên có số mũ lớn hơn 99, giảm hoàn toàn
số mũ phải có q <100. Khi nâng một đơn vị không thứ nguyên lên thành lũy thừa, 'đơn vị'
cố gắng chuyển đổi một số mũ thập phân thành một số hữu tỉ với q <100. Nếu đây không phải là
'đơn vị' có thể hiển thị thông báo lỗi:

Bạn có: ft ^ 1.234
Đơn vị cơ sở không không thứ nguyên; số mũ hợp lý yêu cầu

Số mũ thập phân phải khớp với biểu diễn hợp lý của nó với độ chính xác của máy, vì vậy
'acre ^ 1.5' hoạt động nhưng 'gallon ^ 0.666' thì không.

tổng Sự khác biệt of Các đơn vị
Đôi khi bạn có thể muốn thêm các giá trị của các đơn vị khác nhau nằm ngoài SI. Bạn có thể
cũng muốn sử dụng 'đơn vị' như một máy tính theo dõi các đơn vị. Số tiền phù hợp
các đơn vị được viết bằng ký tự '+' và sự khác biệt với ký tự '-'.

Bạn có: 2 giờ + 23 phút + 32 giây
Bạn muốn: giây
* 8612
/ 0.00011611705

Bạn có: 12 ft + 3 in
Bạn muốn: cm
* 373.38
/ 0.0026782366

Bạn có: 2 btu + 450 ft lbf
Bạn muốn: btu
* 2.5782804
/ 0.38785542

Các biểu thức được cộng hoặc trừ phải giảm thành các biểu thức giống hệt nhau trong
đơn vị nguyên thủy hoặc thông báo lỗi sẽ được hiển thị:

Bạn có: 12 điểm máy in - 4 điểm lưu trữ
^
Tổng bất hợp pháp của các đơn vị không phù hợp

Như thường lệ, mức độ ưu tiên cho '+' và '-' thấp hơn so với các toán tử khác. MỘT
số lượng phân số chẳng hạn như 2 1/2 cốc có thể được cho là '(2 + 1 | 2) cốc'; dấu ngoặc đơn là
cần thiết vì phép nhân có mức độ ưu tiên cao hơn phép cộng. Nếu bạn bỏ qua
dấu ngoặc đơn, 'đơn vị' cố gắng thêm '2' và '1 | 2 cốc', và bạn nhận được thông báo lỗi:

Bạn có: 2 + 1 | 2 cốc
^
Tổng hoặc chênh lệch bất hợp pháp của các đơn vị không phù hợp

Biểu thức cũng có thể được viết chính xác là '(2 + 1/2) cốc'. Nếu bạn viết '2 1 | 2
ly 'không gian được hiểu là nhân vì vậy kết quả giống như '1 cốc'.

Các ký tự '+' và '-' đôi khi xuất hiện ở dạng số mũ như '3.43e + 8'. Điều này dẫn đến
sự không rõ ràng trong một biểu thức như '3e + 2 yC'. Đơn vị 'e' là một đơn vị điện tích nhỏ, vì vậy
điều này có thể được coi là tương đương với '(3e + 2) yC' hoặc '(3 e) + (2 yC)'. Sự mơ hồ này là
được giải quyết bằng cách luôn diễn giải '+' và '-' như một phần của số mũ nếu có thể.

Số as Các đơn vị
Đối với 'đơn vị', số chỉ là một loại đơn vị khác. Chúng có thể xuất hiện nhiều lần như bạn
như và theo thứ tự bất kỳ trong một biểu thức đơn vị. Ví dụ: để tìm thể tích của một hộp
là 2 ft x 3 ft x 12 ft trong âm thanh nổi, bạn có thể làm như sau:

Bạn có: 2 ft 3 ft 12 ft
Bạn muốn: stere
* 2.038813
/ 0.49048148

Bạn có: $ 5 / yard
Bạn muốn: xu / inch
* 13.888889
/ 0.072

Và ví dụ thứ hai cho thấy cách ký hiệu đô la trong chuyển đổi đơn vị có thể đứng trước
số năm. Hãy cẩn thận: 'đơn vị' sẽ diễn giải '5 đô la' không có khoảng trắng tương đương với 'đô la ^ 5'.

Built-in Chức năng
Một số hàm tích hợp được cung cấp: 'sin', 'cos', 'tan', 'ln', 'log', 'log2', 'exp',
'acos', 'atan' và 'asin'. Các hàm 'sin', 'cos' và 'tan' yêu cầu một
đối số không thứ nguyên hoặc đối số có kích thước của góc.

Bạn có: sin (30 độ)
Bạn muốn:
Định nghĩa: 0.5

Bạn có: sin (pi / 2)
Bạn muốn:
Định nghĩa: 1

Bạn có: sin (3 kg)
^
Đơn vị không không thứ nguyên

Các hàm khác trong danh sách yêu cầu đối số không thứ nguyên. Sự nghịch đảo
các hàm lượng giác trả về các đối số có kích thước của góc.

Nếu bạn muốn lấy gốc của các đơn vị, bạn có thể sử dụng các hàm 'sqrt' hoặc 'cuberoot'. Này
các hàm yêu cầu đối số phải có gốc thích hợp. Bạn có thể đạt được cao hơn
rễ bằng cách sử dụng số mũ phân số:

Bạn có: sqrt (mẫu Anh)
Bạn muốn: bàn chân
* 208.71074
/ 0.0047913202

Bạn có: (400 W / m ^ 2 / stefanboltzmann) ^ (1/4)
Bạn có:
Định nghĩa: 289.80882 K

Bạn có: cuberoot (hecta)
^
Đơn vị không phải là gốc

trước Kết quả
Bạn có thể chèn kết quả của chuyển đổi trước đó bằng cách sử dụng dấu gạch dưới ('_'). Nó là
hữu ích khi bạn muốn chuyển đổi cùng một đầu vào thành một số đơn vị khác nhau, chẳng hạn

Bạn có: 2.3 tấn
Bạn muốn: btu / hr
* 27600
/ 3.6231884e-005
Bạn có: _
Bạn muốn: kW
* 8.0887615
/ 0.12362832

Giả sử bạn muốn chiên ngập dầu yêu cầu độ sâu của dầu là 2 inch. Bạn có
1/2 gallon dầu và muốn biết chảo có đường kính lớn nhất sẽ duy trì
độ sâu yêu cầu. Đơn vị phi tuyến tính 'circlearea' cho bán kính của vòng kết nối (xem Khác
Phi tuyến Các đơn vị, để được mô tả chi tiết hơn) theo đơn vị SI; bạn muốn đường kính in
inch:

Bạn có: 1 | 2 gallon / 2 in
Bạn muốn: circlearea
0.10890173 m

Bạn có 2 _
Bạn muốn: trong
* 8.5749393
/ 0.1166189

Trong hầu hết các trường hợp, khoảng trắng xung quanh là tùy chọn, vì vậy ví dụ trước có thể có
đã sử dụng '2_'. Tuy nhiên, nếu '_' theo sau một ký hiệu đơn vị không phải số, thì khoảng trống là bắt buộc:

Bạn có: m_
^
Phân tích lỗi

Khi '_' được theo sau bởi một chữ số, hoạt động là phép nhân thay vì
lũy thừa, sao cho '_2', tương đương với '_ * 2' chứ không phải '_ ^ 2'.

Bạn có thể sử dụng ký hiệu '_' bất kỳ số lần nào; Ví dụ,

Bạn có: m
Bạn muốn:
Định nghĩa: 1 m
Bạn có: _ _
Bạn muốn:
Định nghĩa: 1 m ^ 2

Sử dụng '_' trước khi chuyển đổi được thực hiện (ví dụ: ngay sau khi gọi)
tạo ra một lỗi:

Bạn có: _
^
Không có kết quả trước đó; '_' không được thiết lập

Do đó, '_' không có mục đích khi 'đơn vị' được gọi không tương tác.

Nếu 'đơn vị' được gọi với tùy chọn '--verbose' (xem Kêu gọi Các đơn vị), giá trị của '_'
không được mở rộng:

Bạn có: dặm
Bạn muốn: ft
dặm = 5280 ft
dặm = (1 / 0.00018939394) ft
Bạn có: _
Bạn muốn: m
_ = 1609.344 m
_ = (1 / 0.00062137119) m

Bạn có thể đưa ra '_' tại dấu nhắc 'Bạn muốn:', nhưng nó thường không hữu ích lắm.

Phức tạp đơn vị Biểu thức
Chương trình 'đơn vị' đặc biệt hữu ích trong việc đảm bảo độ chính xác và nhất quán về chiều
khi chuyển đổi các biểu thức đơn vị độ dài. Ví dụ, một dạng của Darcy-Weisbach
phương trình dòng chất lỏng là

đồng bằng P = (8 / pi) ^ 2 (rho fLQ^ 2) / d^ 5,

nơi Delta P là độ giảm áp suất, rho là mật độ khối lượng, f là (không thứ nguyên)
nhân tố cọ sát, L là chiều dài của đường ống, Q là tốc độ dòng chảy theo thể tích, và d
đường kính ống. Có thể mong muốn có phương trình ở dạng

đồng bằng P = A1 rho fLQ^ 2 / d^5

đã chấp nhận các đơn vị bình thường của người dùng; đối với các đơn vị điển hình được sử dụng ở Hoa Kỳ, yêu cầu
chuyển đổi có thể là một cái gì đó giống như

You have: (8/pi^2)(lbm/ft^3)ft(ft^3/s)^2(1/in^5)
Bạn muốn: psi
* 43.533969
/ 0.022970568

Dấu ngoặc đơn cho phép các thuật ngữ riêng lẻ trong biểu thức được nhập một cách tự nhiên, vì chúng
có thể được đọc từ công thức. Ngoài ra, phép nhân có thể được thực hiện với
'*' chứ không phải là dấu cách; thì dấu ngoặc đơn chỉ cần thiết xung quanh 'ft ^ 3 / s' vì
số mũ:

Bạn có: 8 / pi ^ 2 * lbm / ft ^ 3 * ft * (ft ^ 3 / s) ^ 2 / in ^ 5
Bạn muốn: psi
* 43.533969
/ 0.022970568

Không có dấu ngoặc đơn và sử dụng dấu cách để nhân, chuyển đổi trước đó sẽ
cần được nhập là

Bạn có: 8 lb ft ft ^ 3 ft ^ 3 / pi ^ 2 ft ^ 3 s ^ 2 trong ^ 5
Bạn muốn: psi
* 43.533969
/ 0.022970568

Ngược Khả năng tương thích:
'*' và '-' Các 'đơn vị' ban đầu được chỉ định phép nhân có mức độ ưu tiên cao hơn phép chia
bằng cách sử dụng dấu gạch chéo. Điều này khác với các quy tắc ưu tiên thông thường, cho phép nhân
và phân chia quyền ưu tiên bình đẳng, và có thể gây nhầm lẫn cho những người nghĩ về các đơn vị là
máy tính.

Toán tử dấu sao ('*') được bao gồm trong chương trình 'đơn vị' này, theo mặc định, giống nhau
ưu tiên như phép chia, và do đó tuân theo các quy tắc ưu tiên thông thường. Ngược lại
khả năng tương thích bạn có thể gọi 'đơn vị' với tùy chọn '- sao vàng'. Sau đó, '*' có giá trị cao hơn
ưu tiên hơn chia và cùng ưu tiên với phép nhân bằng cách sử dụng dấu cách.

Trong lịch sử, dấu gạch ngang ('-') đã được sử dụng trong các ấn phẩm kỹ thuật để biểu thị
sản phẩm của các đơn vị và chương trình 'đơn vị' ban đầu coi nó như một phép nhân
nhà điều hành. Bởi vì 'đơn vị' cung cấp một số cách khác để có được sản phẩm đơn vị, và
bởi vì '-' là một toán tử trừ trong các biểu thức đại số tổng quát, 'đơn vị' xử lý
nhị phân '-' làm toán tử trừ theo mặc định. Để tương thích ngược, hãy sử dụng
Tùy chọn '--product', khiến 'đơn vị' coi toán tử '-' nhị phân như một sản phẩm
nhà điều hành. Khi '-' là một toán tử nhân, nó có cùng ưu tiên với
phép nhân với dấu cách, ưu tiên nó cao hơn phép chia.

Khi '-' được sử dụng như một toán tử một ngôi, nó sẽ phủ định toán hạng của nó. Bất kể 'đơn vị'
tùy chọn, nếu '-' xuất hiện sau '(' hoặc sau '+' thì nó sẽ hoạt động như một toán tử phủ định.
Vì vậy, bạn luôn có thể tính 20 độ trừ 12 phút bằng cách nhập '20 độ +
-12 arcmin '. Bạn phải sử dụng cấu trúc này khi xác định các đơn vị mới vì bạn không thể
biết những tùy chọn nào sẽ có hiệu lực khi định nghĩa của bạn được xử lý.

KHÔNG TUYỆT ĐỐI UNIT CHUYỂN ĐỔI


Các đơn vị phi tuyến được biểu diễn bằng cách sử dụng ký hiệu chức năng. Họ làm cho có thể phi tuyến tính
chuyển đổi đơn vị chẳng hạn như nhiệt độ.

Nhiệt độ Chuyển đổi
Chuyển đổi giữa các nhiệt độ khác với chuyển đổi tuyến tính giữa nhiệt độ
gia số—Xem ví dụ bên dưới. Các chuyển đổi nhiệt độ tuyệt đối được xử lý bởi
đơn vị bắt đầu bằng 'tạm thời' và bạn phải sử dụng ký hiệu chức năng. Nhiệt độ-
chuyển đổi gia tăng được thực hiện bằng cách sử dụng các đơn vị bắt đầu bằng 'deg' và chúng không yêu cầu
ký hiệu chức năng.

Bạn có: nhiệt độF(45)
Bạn muốn: tempC
7.2222222

Bạn có: 45 degF
Bạn muốn: degC
* 25
/ 0.04

Hãy nghĩ về 'tempF (x) 'không phải là một hàm mà là một ký hiệu chỉ ra rằng x nên có
đơn vị của 'tempF' được gắn vào nó. Nhìn thấy Xác định Phi tuyến Các đơn vị. Chuyển đổi đầu tiên
cho thấy nếu nhiệt độ bên ngoài là 45 độ F thì nhiệt độ là 7.2 độ C. Thư hai
chuyển đổi chỉ ra rằng thay đổi 45 độ F tương ứng với thay đổi 25
độ C. Việc chuyển đổi từ 'tempF (x) 'là nhiệt độ tuyệt đối, do đó

Bạn có: nhiệt độF(45)
Bạn muốn: degR
* 504.67
/ 0.0019814929

cho kết quả tương tự như

Bạn có: nhiệt độF(45)
Bạn muốn: tempR
* 504.67
/ 0.0019814929

Nhưng nếu bạn chuyển đổi 'tempF (x) 'thành' degC ', kết quả đầu ra có thể không như bạn mong đợi:

Bạn có: nhiệt độF(45)
Bạn muốn: degC
* 280.37222
/ 0.0035666871

Kết quả là nhiệt độ tính bằng K, vì 'độC' được định nghĩa là 'K', độ Kelvin. Vì
kết quả phù hợp, sử dụng 'tạm thờiX'đơn vị khi chuyển đổi sang nhiệt độ hơn là
chuyển đổi sự gia tăng nhiệt độ.

Các định nghĩa 'tempC ()' và 'tempF ()' được giới hạn ở nhiệt độ tuyệt đối dương, và
việc đưa ra một giá trị dẫn đến nhiệt độ tuyệt đối âm sẽ tạo ra lỗi
thông điệp:

Bạn có: tempC (-275)
^
Đối số của hàm bên ngoài miền
^

Khác Phi tuyến Các đơn vị
Một số ví dụ khác về đơn vị phi tuyến là nhiều kích thước vòng và đồng hồ đo dây khác nhau,
các kích thước sạn được sử dụng cho hạt mài, thang đo decibel, kích thước giày, thang đo mật độ
đường (ví dụ: baume). Tệp dữ liệu chuẩn cũng cung cấp các đơn vị để tính toán diện tích
một hình tròn và thể tích của một hình cầu. Xem tệp dữ liệu đơn vị tiêu chuẩn để biết thêm chi tiết.
Đồng hồ đo dây có nhiều số XNUMX được biểu thị bằng số âm trong đó hai số XNUMX là
'-1'. Ngoài ra, bạn có thể sử dụng các từ đồng nghĩa 'g00', 'g000', v.v. được định nghĩa
trong tệp dữ liệu đơn vị tiêu chuẩn.

Bạn có: thước đo dây(11)
Bạn muốn: inch
* 0.090742002
/ 11.020255

Bạn có: brwiregauge (g00)
Bạn muốn: inch
* 0.348
/ 2.8735632

Bạn có: 1 mm
Bạn muốn: wiregauge
18.201919

Bạn có: grit_P(600)
Bạn muốn: grit_ansicoated
342.76923

Ví dụ cuối cùng cho thấy sự chuyển đổi từ giấy cát phân loại P, là giấy của Châu Âu
tiêu chuẩn và có thể được đánh dấu `` P600 '' ở mặt sau, theo tiêu chuẩn Hoa Kỳ.

Bạn có thể tính diện tích của một hình tròn bằng cách sử dụng đơn vị phi tuyến, 'circlearea'. Bạn cũng có thể
làm điều này bằng cách sử dụng vòng tròn hoặc vòng tròn. Ví dụ tiếp theo cho thấy hai cách để tính toán
diện tích của một hình tròn có bán kính năm inch và một cách để tính thể tích của một hình cầu
với bán kính một mét.

Bạn có: circlearea (5 in)
Bạn muốn: in2
* 78.539816
/ 0.012732395

Bạn có: 10 ^ 2 circleinch
Bạn muốn: in2
* 78.539816
/ 0.012732395

Bạn có: quả cầu(Mét)
Bạn muốn: ft3
* 147.92573
/ 0.0067601492

Nghịch đảo của một chuyển đổi phi tuyến được biểu thị bằng cách thêm dấu ngã ('~') vào trước
tên đơn vị phi tuyến:

Bạn có: ~ wiregauge (0.090742002 inch)
Bạn muốn:
Định nghĩa: 11

Bạn có thể đưa ra định nghĩa đơn vị phi tuyến tính mà không có đối số hoặc dấu ngoặc đơn và nhấn
đăng ký hạng mục thi tại dấu nhắc 'Bạn muốn:' để lấy định nghĩa của một đơn vị phi tuyến; nếu
định nghĩa không hợp lệ cho tất cả các số thực, phạm vi hiệu lực cũng được cho trước. Nếu
định nghĩa yêu cầu các đơn vị cụ thể thông tin này cũng được hiển thị:

Bạn có: tempC
Định nghĩa: tempC (x) = x K + stdtemp
được xác định cho x> = -273.15
Bạn có: ~ tempC
Định nghĩa: ~ tempC (tempC) = (tempC + (- stdtemp)) / K
được xác định cho tempC> = 0 K
Bạn có: circlearea
Định nghĩa: circlearea (r) = pi r ^ 2
r có đơn vị m

Để xem định nghĩa của phép nghịch đảo, hãy sử dụng ký hiệu '~'. Trong trường hợp này, tham số trong
định nghĩa chức năng thường sẽ là tên của đơn vị. Lưu ý rằng nghịch đảo đối với
'tempC' cho thấy rằng nó yêu cầu các đơn vị là 'K' trong đặc điểm kỹ thuật của phạm vi cho phép
các giá trị. Chuyển đổi đơn vị phi tuyến được mô tả chi tiết hơn trong Xác định Phi tuyến
Các đơn vị.

UNIT DANH SÁCH: CHUYỂN NHƯỢNG ĐẾN Tổng điểm OF CÁC ĐƠN VỊ


Bên ngoài SI, đôi khi người ta mong muốn chuyển đổi một đơn vị thành tổng các đơn vị—
ví dụ: feet to feet cộng với inch. Sự chuyển đổi từ tổng số đơn vị được mô tả trong
tổng Sự khác biệt of Các đơn vịvà chỉ là một vấn đề đơn giản khi thêm các đơn vị có dấu '+'
ký tên:

Bạn có: 12 ft + 3 in + 3 | 8 in
Bạn muốn: ft
* 12.28125
/ 0.081424936

Mặc dù tương tự, bạn có thể viết tổng các đơn vị để chuyển đổi đến, kết quả sẽ không phải là
chuyển đổi thành các đơn vị trong tổng, mà là chuyển đổi thành tổng cụ thể
bạn đã nhập:

Bạn có: 12.28125 ft
Bạn muốn: ft + in + 1 | 8 in
* 11.228571
/ 0.089058524

Biểu thức đơn vị được đưa ra tại dấu nhắc 'Bạn muốn:' tương đương với yêu cầu chuyển đổi
thành bội số của '1 ft + 1 in + 1 | 8 in', là 1.09375 ft, vì vậy chuyển đổi trong
ví dụ trước tương đương với

Bạn có: 12.28125 ft
Bạn muốn: 1.09375 ft
* 11.228571
/ 0.089058524

Khi chuyển đổi thành tổng các đơn vị như dặm, feet và inch, bạn thường muốn
giá trị tích phân lớn nhất cho đơn vị đầu tiên, tiếp theo là giá trị tích phân lớn nhất cho
tiếp theo, và phần còn lại được chuyển đổi thành đơn vị cuối cùng. Bạn có thể thực hiện chuyển đổi này một cách dễ dàng
với 'đơn vị' bằng cách sử dụng cú pháp đặc biệt cho danh sách các đơn vị. Bạn phải liệt kê các đơn vị mong muốn
theo thứ tự từ lớn nhất đến nhỏ nhất, được phân tách bằng ký tự dấu chấm phẩy (';'):

Bạn có: 12.28125 ft
Bạn muốn: ft; in; 1 | 8 in
12 ft + 3 in + 3 | 8 in

Việc chuyển đổi luôn cung cấp hệ số nguyên trên các đơn vị trong danh sách, ngoại trừ có thể
đơn vị cuối cùng khi chuyển đổi không chính xác:

Bạn có: 12.28126 ft
Bạn muốn: ft; in; 1 | 8 in
12 ft + 3 in + 3.00096 * 1 | 8 in

Thứ tự mà bạn liệt kê các đơn vị là quan trọng:

Bạn có: 3 kg
Bạn muốn: oz; lb
105 oz + 0.051367866 lb

Bạn có: 3 kg
Bạn muốn: lb; oz
6 lb + 9.8218858 oz

Liệt kê ounce trước pound tạo ra kết quả chính xác về mặt kỹ thuật, nhưng không phải là rất hữu ích
một. Bạn phải liệt kê các đơn vị theo thứ tự kích thước giảm dần để có được điều hữu ích nhất
kết quả.

Kết thúc danh sách đơn vị bằng dấu phân cách ';' có tác dụng tương tự như lặp lại đơn vị cuối cùng
trên danh sách, vì vậy 'ft; in; 1 | 8 in;' tương đương với 'ft; in; 1 | 8 in; 1 | 8 in'. Với ví dụ
ở trên, điều này mang lại

Bạn có: 12.28126 ft
Bạn muốn: ft; in; 1 | 8 in;
12 ft + 3 in + 3 | 8 in + 0.00096 * 1 | 8 in

có tác dụng phân tách phần nguyên và phần thập phân của hệ số cho phần cuối cùng
bài học. Thay vào đó, nếu bạn muốn làm tròn hệ số cuối cùng thành một số nguyên, bạn có thể làm điều này
với tùy chọn '--round' ('-r'). Với ví dụ trước, kết quả là

Bạn có: 12.28126 ft
Bạn muốn: ft; in; 1 | 8 in
12 ft + 3 in + 3 | 8 in (làm tròn xuống gần nhất 1 | 8 in)

Khi bạn sử dụng tùy chọn '-r', việc lặp lại đơn vị cuối cùng trong danh sách không có tác dụng (ví dụ:
'ft; in; 1 | 8 in; 1 | 8 in' tương đương với 'ft; in; 1 | 8 in'), và do đó không có kết thúc a
danh sách có dấu ';'. Với một đơn vị duy nhất và tùy chọn '-r', một thiết bị đầu cuối ';' làm có một
hiệu ứng: nó làm cho 'đơn vị' coi đơn vị duy nhất là một danh sách và tạo ra một giá trị làm tròn
cho các đơn vị duy nhất. Nếu không có thêm ';', tùy chọn '-r' không có tác dụng đối với đơn vị
chuyển đổi. Ví dụ này hiển thị đầu ra bằng cách sử dụng tùy chọn '-r':

Bạn có: 12.28126 ft
Bạn muốn: trong
* 147.37512
/ 0.0067854058

Bạn có: 12.28126 ft
Bạn muốn: trong;
147 in (làm tròn xuống gần nhất in)

Mỗi đơn vị xuất hiện trong danh sách phải phù hợp với đơn vị đầu tiên trong danh sách,
và tất nhiên các đơn vị được liệt kê cũng phải phù hợp với đơn vị mà bạn nhập vào
dấu nhắc 'Bạn có:'.

Bạn có: mét
Bạn muốn: ft; kg
^
lỗi phù hợp
ft = 0.3048 m
kg = 1 kg

Bạn có: mét
Bạn muốn: lb; oz
lỗi phù hợp
1 m
0.45359237 kg

Trong trường hợp đầu tiên, 'đơn vị' báo cáo sự bất đồng giữa các đơn vị xuất hiện trong danh sách.
Trong trường hợp thứ hai, 'đơn vị' báo cáo sự bất đồng giữa đơn vị bạn đã nhập và
chuyển đổi mong muốn. Lỗi tuân thủ này dựa trên đơn vị đầu tiên trên đơn vị
danh sách.

Các ứng cử viên phổ biến khác để chuyển đổi thành tổng của đơn vị là góc và thời gian:

Bạn có: 23.437754 độ
Bạn muốn; deg; arcmin; arcsec
23 độ + 26 arcmin + 15.9144 arcsec

Bạn có: 7.2319 giờ
Bạn muốn: hr; min; sec
7 giờ + 13 phút + 54.84 giây

Ở Bắc Mỹ, các công thức nấu ăn thường đo lường nguyên liệu theo khối lượng và sử dụng
đơn vị không phải lúc nào cũng là bội số của nhau. Giả sử rằng bạn có một
công thức cho 6 và bạn muốn tạo một phần cho 1. Nếu công thức yêu cầu 2 1/2 cốc
một thành phần, bạn có thể muốn biết các phép đo về các thiết bị đo lường bạn
có sẵn, bạn có thể sử dụng 'đơn vị' và nhập

Bạn có: (2 + 1 | 2) cup / 6
Bạn muốn: cốc; 1 | 2 cốc; 1 | 3 cốc; 1 | 4 cốc; tbsp; tsp; 1 | 2 thìa cà phê; 1 | 4 thìa cà phê
1 | 3 cốc + 1 thìa cà phê + 1 thìa cà phê

Theo mặc định, nếu một đơn vị trong danh sách bắt đầu bằng phân số của dạng 1 |x và hệ số của nó là
một số nguyên, phân số đã cho dưới dạng tích của cấp số nhân và tử số; vì
thí dụ,

Bạn có: 12.28125 ft
Bạn muốn: ft; in; 1 | 8 in;
12 ft + 3 in + 3 | 8 in

Trong nhiều trường hợp, chẳng hạn như ví dụ trên, đây là điều mong muốn, nhưng đôi khi lại không.
Ví dụ: một công thức nấu ăn cho 6 người có thể yêu cầu 5 1/4 cốc nguyên liệu, nhưng bạn
muốn một phần cho 2 người, và số đo 1 cốc của bạn không có sẵn; bạn có thể thử

Bạn có: (5 + 1 | 4) cup / 3
Bạn muốn: 1 | 2 cốc; 1 | 3 cốc; 1 | 4 cốc
3 | 2 cốc + 1 | 4 cốc

Kết quả này có thể ổn đối với một thợ làm bánh có số đo 1/1 cốc (và nhận ra
tương đương), nhưng nó có thể không hữu ích đối với một người nào đó có nhiều biện pháp hạn chế hơn,
ai muốn thực hiện các phép tính bổ sung và chỉ muốn biết `` Có ​​bao nhiêu 1/2 cốc
những biện pháp mà tôi cần thêm? '' Với
tùy chọn '--show-factor', thừa số sẽ không được kết hợp với một tử số thống nhất, do đó
bạn lấy

Bạn có: (5 + 1 | 4) cup / 3
Bạn muốn: 1 | 2 cốc; 1 | 3 cốc; 1 | 4 cốc
3 * 1 | 2 cốc + 1 | 4 cốc

Đơn vị phân số do người dùng chỉ định có tử số khác 1 không bao giờ bị ghi đè,
tuy nhiên — nếu danh sách đơn vị chỉ định '3 | 4 cốc; 1 | 2 cốc', kết quả tương đương với 1 1/2 cốc sẽ
luôn được hiển thị là '2 * 3 | 4 cup' cho dù có đưa ra tùy chọn '--show-factor' hay không.

Một số ứng dụng cho danh sách đơn vị có thể ít rõ ràng hơn. Giả sử rằng bạn có một bưu điện
quy mô và muốn đảm bảo rằng nó chính xác ở 1 oz, nhưng chỉ có hiệu chuẩn hệ mét
trọng lượng. Bạn có thể thử

Bạn có: 1 oz
Bạn muốn: 100 g; 50 g; 20 g; 10 g; 5 g; 2 g; 1 g;
20 g + 5 g + 2 g + 1 g + 0.34952312 * 1 g

Sau đó, bạn có thể đặt từng quả nặng 20 g, 5 g, 2 g và 1 g lên bàn cân và hy vọng
rằng nó chỉ ra gần với

Bạn có: 20 g + 5 g + 2 g + 1 g
Bạn muốn: oz;
0.98767093 oz

Đang xuất hiện ';' để 'oz' buộc hiển thị một dòng bao gồm đơn vị; đây là số nguyên
một phần của kết quả là XNUMX, vì vậy nó không được hiển thị.

Một danh sách đơn vị chẳng hạn như

cốc; 1 | 2 cốc; 1 | 3 cốc; 1 | 4 cốc; tbsp; tsp; 1 | 2 thìa cà phê; 1 | 4 thìa cà phê

có thể là tẻ nhạt để vào. Chương trình 'đơn vị' cung cấp các tên viết tắt cho một số
kết hợp:

hms giờ, phút, giây
góc dms: độ, phút, giây
thời gian năm, ngày, giờ, phút và giây
usvol khối lượng nấu ăn của Hoa Kỳ: cốc và nhỏ hơn

Sử dụng các liên kết ngắn này, hoặc đơn vị bí danh, bạn có thể thực hiện các chuyển đổi sau:

Bạn có: anomalisticyear
Bạn muốn: thời gian
1 năm + 25 phút + 3.4653216 giây
Bạn có: 1 | 6 cốc
Bạn muốn: usvol
2 muỗng canh + 2 muỗng canh

Bạn không thể kết hợp bí danh danh sách đơn vị với các đơn vị khác: bí danh đó phải xuất hiện một mình tại
'Bạn muốn:' nhắc.

Bạn có thể hiển thị định nghĩa của bí danh danh sách đơn vị bằng cách nhập nó vào phần 'Bạn có:'
lời nhắc:

Bạn có: dms
Định nghĩa: danh sách đơn vị, deg; arcmin; arcsec

Khi bạn chỉ định đầu ra nhỏ gọn bằng '--compact', '--terse' hoặc '-t' và thực hiện chuyển đổi
vào danh sách đơn vị, 'đơn vị' liệt kê các yếu tố chuyển đổi cho từng đơn vị trong danh sách, được phân tách
bằng dấu chấm phẩy.

Bạn có: năm
Bạn muốn: day; min; sec
365; 348; 45.974678

Không giống như trường hợp đầu ra thông thường, số không đang bao gồm trong danh sách đầu ra này:

Bạn có: lít
Bạn muốn: cốc; 1 | 2 cốc; 1 | 4 cốc; muỗng canh
4; 0; 0; 3.6280454

ĐĂNG NHẬP TÍNH TOÁN


Tùy chọn '--log' cho phép bạn lưu kết quả của các phép tính trong một tệp; Điều này có thể là
hữu ích nếu bạn cần một hồ sơ lâu dài về công việc của bạn. Ví dụ, dòng chất lỏng
chuyển đổi trong Phức tạp đơn vị Biểu thức, dài dòng và nếu bạn sử dụng nó trong
thiết kế một hệ thống đường ống, bạn có thể cần một bản ghi về nó cho tệp dự án. Nếu
phiên tương tác

# Hệ số chuyển đổi A1 để giảm áp suất
# dP = A1 rho f LQ ^ 2 / d ^ 5
Bạn có: (8 / pi ^ 2) (lbm / ft ^ 3) ft (ft ^ 3 / s) ^ 2 (1 / in ^ 5) # Đơn vị đầu vào
Bạn muốn: psi
* 43.533969
/ 0.022970568

đã được ghi nhật ký, tệp nhật ký sẽ chứa

### Bắt đầu ghi nhật ký vào Thứ Sáu, 02 Tháng 15 55:35:2015 XNUMX

# Hệ số chuyển đổi A1 để giảm áp suất
# dP = A1 rho f LQ ^ 2 / d ^ 5
Từ: (8 / pi ^ 2) (lbm / ft ^ 3) ft (ft ^ 3 / s) ^ 2 (1 / in ^ 5) # Đơn vị đầu vào
Tới: psi
* 43.533969
/ 0.022970568

Thời gian được ghi vào tệp nhật ký khi tệp được mở.

Việc sử dụng các chú thích có thể giúp làm rõ ý nghĩa của các phép tính đối với nhật ký. Nhật ký
bao gồm các lỗi về tính tuân thủ giữa các đơn vị tại 'Bạn có:' và 'Bạn muốn:'
lời nhắc, chứ không phải các lỗi khác, bao gồm cả sự thiếu phù hợp của các mục tính bằng tiền hoặc
sự khác biệt hoặc giữa các mục trong một danh sách đơn vị. Ví dụ: chuyển đổi giữa góc thiên đỉnh
và góc nâng có thể liên quan đến

Bạn có: 90 độ - (5 độ + 22 phút + 9 giây)
^
Tổng hoặc chênh lệch bất hợp pháp của các đơn vị không phù hợp
Bạn có: 90 độ - (5 độ + 22 arcmin + 9 arcsec)
Bạn muốn: dms
84 độ + 37 arcmin + 51 arcsec
Bạn có: _
Bạn muốn: deg
* 84.630833
/ 0.011816024
Bạn có:

Tệp nhật ký sẽ chứa

Từ: 90 độ - (5 độ + 22 arcmin + 9 arcsec)
Tới: deg; arcmin; arcsec
84 độ + 37 arcmin + 51 arcsec
Từ: _
Tới: độ
* 84.630833
/ 0.011816024

Lỗi nhập ban đầu (quên rằng phút có thứ nguyên thời gian và điều đó
arcminutes phải được sử dụng cho kích thước của góc) không xuất hiện trong đầu ra. Khi nào
chuyển đổi thành bí danh danh sách đơn vị, 'đơn vị' mở rộng bí danh trong tệp nhật ký.

Thẻ 'Từ:' và 'Đến:' được ghi vào tệp nhật ký ngay cả khi tùy chọn '--quiet' là
được. Nếu tệp nhật ký tồn tại khi 'đơn vị' được gọi, kết quả mới sẽ được thêm vào
tệp nhật ký. Thời gian được ghi vào tệp nhật ký mỗi khi tệp được mở. Các
Tùy chọn '--log' bị bỏ qua khi 'đơn vị' được sử dụng không tương tác.

KÊU GỌI CÁC ĐƠN VỊ
Bạn gọi 'đơn vị' như thế này:

các đơn vị [lựa chọn] [từ đơn vị [đơn vị]]

Nếu từ đơn vịđơn vị bị bỏ qua, chương trình sẽ sử dụng các lời nhắc tương tác để
xác định chuyển đổi nào cần thực hiện. Nhìn thấy Interactive Sử dụng. Nếu cả hai từ đơn vịđến-
đơn vị được đưa ra, 'đơn vị' sẽ in kết quả của chuyển đổi đơn lẻ đó và sau đó thoát. Nếu như
có thể từ đơn vị xuất hiện trên dòng lệnh, 'đơn vị' sẽ hiển thị định nghĩa của
đơn vị và thoát ra. Các đơn vị được chỉ định trên dòng lệnh có thể cần được trích dẫn để bảo vệ chúng
từ giải thích shell và nhóm chúng thành hai đối số. Nhìn thấy Lệnh Dòng Sử dụng.

Hành vi mặc định của 'đơn vị' có thể được thay đổi bằng các tùy chọn khác nhau được cung cấp trên lệnh
hàng. Trong hầu hết các trường hợp, các tùy chọn có thể được đưa ra dưới dạng rút gọn (một dấu '-' theo sau
bởi một ký tự duy nhất) hoặc dạng dài ('-' theo sau bởi một từ hoặc các từ được phân tách bằng dấu gạch ngang).
Các tùy chọn dạng ngắn là khó hiểu nhưng yêu cầu nhập ít hơn; các tùy chọn dạng dài yêu cầu nhiều hơn
đánh máy nhưng dễ giải thích hơn và có thể dễ nhớ hơn. Với các tùy chọn dạng dài bạn cần
chỉ nhập đủ ký tự để xác định duy nhất tùy chọn cho chương trình. Vì
ví dụ, '--out% f' hoạt động, nhưng '--o% f' không thành công vì 'đơn vị' có các tùy chọn dài khác
bắt đầu bằng 'o'. Tuy nhiên, '--q' hoạt động vì '--quiet' là lựa chọn dài duy nhất
bắt đầu bằng 'q'.

Một số tùy chọn yêu cầu các đối số để chỉ định một giá trị (ví dụ: '-d 12' hoặc '--digits 12').
Các tùy chọn dạng ngắn không sử dụng đối số có thể được nối với nhau (ví dụ: '-erS' là
tương đương với '-e -r -S'); tùy chọn cuối cùng trong danh sách như vậy có thể là một tùy chọn có
đối số (ví dụ: '-ed 12'). Với các tùy chọn dạng ngắn, khoảng cách giữa một tùy chọn và
đối số là tùy chọn (ví dụ: '-d12' tương đương với '-d 12'). Tùy chọn dạng dài có thể không
được nối và khoảng cách giữa tùy chọn dạng dài và đối số của nó là bắt buộc.
Các tùy chọn dạng ngắn và dạng dài có thể được trộn lẫn với nhau trên dòng lệnh. Các tùy chọn có thể là
được đưa ra theo bất kỳ thứ tự nào, nhưng khi các tùy chọn không tương thích (ví dụ: '--output-format' và
'- cấp số nhân') được đưa ra kết hợp, hành vi được kiểm soát bởi tùy chọn cuối cùng
được. Ví dụ: '-o% .12f -e' cung cấp định dạng hàm mũ với tám mặc định
chữ số có nghĩa).

Lựa chọn tiếp theo đã khả thi:

-c, --đánh dấu
Kiểm tra để đảm bảo rằng tất cả các đơn vị và tiền tố được xác định trong tệp dữ liệu đơn vị giảm xuống
đơn vị nguyên thủy. In danh sách tất cả các đơn vị không thể giảm. Cũng hiển thị
một số chẩn đoán khác về các định nghĩa đáng ngờ trong tệp dữ liệu đơn vị. Chỉ có
định nghĩa hoạt động trong ngôn ngữ hiện tại được kiểm tra. Bạn nên luôn chạy
'đơn vị' với tùy chọn này sau khi sửa đổi tệp dữ liệu đơn vị.

--check-dài dòng, - kiểm tra chi tiết
Giống như tùy chọn '--check', tùy chọn này in ra danh sách các đơn vị không thể
giảm. Nhưng để giúp tìm các định nghĩa đơn vị gây ra các vòng lặp vô tận, nó liệt kê
các đơn vị khi chúng được kiểm tra. Nếu 'đơn vị' bị treo, thì đơn vị cuối cùng được in có
một định nghĩa tồi. Chỉ các định nghĩa đang hoạt động trong ngôn ngữ hiện tại mới được kiểm tra.

-d chữ số, --chữ số chữ số
Đặt số chữ số có nghĩa trong đầu ra thành giá trị được chỉ định (mà
phải lớn hơn 12). Ví dụ: '-d XNUMX' đặt số lượng có nghĩa
chữ số đến 12. Với đầu ra theo cấp số nhân 'đơn vị' hiển thị một chữ số ở bên trái của
dấu thập phân và mười một chữ số ở bên phải dấu thập phân. Hầu hết
hệ thống, số chữ số có nghĩa bên trong tối đa là 15; nếu bạn chỉ định một
lớn hơn số lượng tối đa của hệ thống của bạn, 'đơn vị' sẽ in cảnh báo và đặt
số thành giá trị có nghĩa lớn nhất. Để đặt trực tiếp giá trị lớn nhất, hãy cung cấp
đối số của 'max' (ví dụ: '-d max'). Tất nhiên, hãy lưu ý rằng `` quan trọng '' ở đây
chỉ đề cập đến trưng bày số lượng; nếu kết quả phụ thuộc vào các hằng số vật lý thì không
được biết đến với độ chính xác này, độ chính xác có ý nghĩa vật lý có thể nhỏ hơn
cho xem. Tùy chọn '--digits' xung đột với tùy chọn '--output-format'.

-e, --số mũ
Đặt định dạng đầu ra số thành hàm mũ (tức là ký hiệu khoa học), như vậy
được sử dụng trong chương trình Unix 'đơn vị'. Độ chính xác mặc định là đáng kể tám
chữ số (bảy chữ số ở bên phải dấu thập phân); điều này có thể được thay đổi bằng
tùy chọn '--digits'. Tùy chọn '--exponential' xung đột với '--output-
định dạng 'tùy chọn.

-o định dạng, --định dạng đầu ra định dạng
Tùy chọn này cung cấp quyền kiểm soát hoàn toàn đối với định dạng đầu ra số bằng cách sử dụng
quy định định dạng. Định dạng là một định dạng số dấu phẩy động duy nhất cho
Hàm 'printf ()' trong ngôn ngữ lập trình C. Tất cả các trình biên dịch đều hỗ trợ
loại định dạng 'g' và 'G' để chỉ định các chữ số có nghĩa, 'e' và 'E' cho tính khoa học
ký hiệu và 'f' cho dấu thập phân cố định. Tiêu chuẩn ISO C99 đưa ra chữ 'F'
nhập cho số thập phân có dấu chấm cố định và các loại 'a' và 'A' cho thập lục phân thả nổi
điểm; các loại này được phép với các trình biên dịch hỗ trợ chúng. Mặc định
định dạng là '% .8g'; để có độ chính xác cao hơn, bạn có thể chỉ định '-o% .15g'. Nhìn thấy Numeric
Đầu ra Định dạng và tài liệu cho 'printf ()' để có các mô tả chi tiết hơn
của đặc điểm kỹ thuật định dạng. Tùy chọn '--output-format' mang lại kết quả tốt nhất
kiểm soát giao diện đầu ra, nhưng yêu cầu ít nhất kiến ​​thức thô sơ về
cú pháp định dạng 'printf ()'. Nếu bạn không muốn bận tâm với 'printf ()'
cú pháp, bạn có thể chỉ định độ chính xác cao hơn một cách đơn giản hơn với tùy chọn '--digits' hoặc
chọn định dạng theo cấp số nhân với '- cấp số nhân'. Tùy chọn '--output-format' là
không tương thích với các tùy chọn '--exponential' và '--digits'.

-f tên tập tin, --tập tin tên tập tin
Hướng dẫn 'đơn vị' tải tệp đơn vị tên tập tin. Bạn có thể chỉ định tối đa 25 đơn vị
các tệp trên dòng lệnh. Khi bạn sử dụng tùy chọn này, 'đơn vị' sẽ tải có thể các
các tệp bạn liệt kê trên dòng lệnh; nó sẽ không tải tệp tiêu chuẩn hoặc của bạn
tệp đơn vị cá nhân trừ khi bạn liệt kê chúng một cách rõ ràng. Nếu như tên tập tin trống không
string ('-f ""'), tệp đơn vị mặc định (hoặc tệp được chỉ định bởi 'UNITSFILE') sẽ là
được tải cùng với bất kỳ tệp nào khác được chỉ định bằng '-f'.

-L tệp nhật ký, --log tệp nhật ký
Lưu kết quả tính toán trong tệp tệp nhật ký; điều này có thể hữu ích nếu nó là
quan trọng là phải có hồ sơ về chuyển đổi đơn vị hoặc các phép tính khác phải
được sử dụng rộng rãi hoặc trong một hoạt động quan trọng như một chương trình hoặc dự án thiết kế. Nếu như
tệp nhật ký thoát ra, kết quả mới được thêm vào tệp. Tùy chọn này bị bỏ qua
khi 'đơn vị' được sử dụng không tương tác. Nhìn thấy Logging Tính toán để biết thêm
mô tả chi tiết và một số ví dụ.

-H tên tập tin, --Môn lịch sử tên tập tin
Hướng dẫn 'đơn vị' lưu lịch sử vào tên tập tin, để bản ghi các lệnh của bạn
có sẵn để truy xuất trên các lệnh gọi 'đơn vị' khác nhau. Để ngăn chặn
lịch sử từ được lưu thiết lập tên tập tin thành chuỗi trống ('-H ""'). Tùy chọn này
không có hiệu lực nếu dòng đọc không có sẵn.

-h, --Cứu giúp
In ra bản tóm tắt các tùy chọn cho 'đơn vị'.

-m, --dấu trừ
Nguyên nhân '-' được hiểu là một toán tử trừ. Đây là mặc định
hành vi.

-p, --sản phẩm
Khiến '-' được hiểu như một toán tử nhân khi nó có hai toán hạng.
Nó sẽ hoạt động như một toán tử phủ định khi nó chỉ có một toán hạng: '(-3)'. Qua
mặc định '-' được coi là một toán tử trừ.

- sao vàng
Khiến '*' có mức độ ưu tiên kiểu cũ, cao hơn mức độ ưu tiên của phép chia
sao cho '1/2 * 3' sẽ bằng '1/6'.

--Ngôi sao mới
Buộc '*' có quyền ưu tiên mới (mặc định) tuân theo các quy tắc thông thường của
algebra: ưu tiên của '*' giống như ưu tiên của '/', do đó
'1/2 * 3' sẽ bằng '3/2'.

--gọn nhẹ
Cung cấp đầu ra nhỏ gọn chỉ có yếu tố chuyển đổi. Điều này làm tắt
Tùy chọn '--verbose'.

-q, --Yên lặng, --im lặng
Ngăn chặn lời nhắc của người dùng về các đơn vị và hiển thị số liệu thống kê về
số lượng đơn vị được tải.

-n, - danh sách
Tắt chuyển đổi thành danh sách đơn vị.

-r, --vòng
Khi chuyển đổi thành một tổ hợp các đơn vị được cung cấp bởi một danh sách đơn vị, hãy làm tròn giá trị của
đơn vị cuối cùng trong danh sách đến số nguyên gần nhất.

-S, --show-yếu tố
Khi chuyển đổi thành một tổ hợp các đơn vị được chỉ định trong danh sách, hãy luôn hiển thị
thừa số đơn vị trước một đơn vị bắt đầu bằng phân số có mẫu số đơn vị.
Theo mặc định, nếu đơn vị trong danh sách bắt đầu bằng phân số của dạng 1 |x và của mình
số nhân là một số nguyên khác 1, phân số được cho là tích của
số nhân và tử số (ví dụ: '3 | 8 in' thay vì '3 * 1 | 8 in'). Trong một số
trường hợp, đây không phải là những gì được mong muốn; ví dụ: kết quả cho một công thức nấu ăn
có thể hiển thị '3 * 1 | 2 cup' là '3 | 2 cup'. Với tùy chọn '--show-factor', một kết quả
tương đương với 1.5 cốc sẽ hiển thị là '3 * 1 | 2 cốc' thay vì '3 | 2 cốc'. MỘT
đơn vị phân số do người dùng chỉ định có tử số khác 1 không bao giờ bị ghi đè,
tuy nhiên — nếu danh sách đơn vị chỉ định '3 | 4 cup; 1 | 2 cup', kết quả tương đương với 1 1/2
cốc sẽ luôn được hiển thị là '2 * 3 | 4 cốc' cho dù có '--show-factor' hay không
tùy chọn được đưa ra.

-s, --khắt khe
Ngăn chặn việc chuyển đổi các đơn vị thành các đơn vị đối ứng của chúng. Ví dụ: 'đơn vị' sẽ
thường chuyển đổi hertz thành giây vì những đơn vị này là tương hỗ của mỗi
khác. Tùy chọn nghiêm ngặt yêu cầu các đơn vị phải tuân thủ nghiêm ngặt để thực hiện
và sẽ xuất hiện lỗi nếu bạn cố chuyển đổi hertz thành giây.

-1, --một đường thẳng
Chỉ cung cấp một dòng đầu ra (chuyển đổi chuyển tiếp). Không in ngược
sự chuyển đổi. Nếu một chuyển đổi đối ứng được thực hiện thì 'đơn vị' sẽ vẫn in
dòng `` chuyển đổi tương hỗ ''.

-t, --ngắn gọn
Cung cấp đầu ra ngắn hơn khi chuyển đổi đơn vị. Tùy chọn này có thể được sử dụng khi gọi
'đơn vị' từ chương trình khác để đầu ra dễ dàng phân tích cú pháp. Tùy chọn này có
hiệu quả kết hợp của các tùy chọn này: '--strict' '--quiet' '--one-line'
'--gọn nhẹ'. Khi được kết hợp với '--version', nó tạo ra một màn hình chỉ hiển thị
tên chương trình và số phiên bản.

-v, --dài dòng
Cung cấp đầu ra dài dòng hơn một chút khi chuyển đổi đơn vị. Khi kết hợp với
Tùy chọn '-c' cho hiệu ứng tương tự như '--check-verbose'. Khi kết hợp với
'--version' tạo ra kết quả chi tiết hơn, tương đương với tùy chọn '--info'.

-V, --phiên bản
In số phiên bản chương trình, cho biết thư viện 'dòng đọc' đã được
bao gồm, cho biết liệu hỗ trợ UTF-8 đã được bao gồm chưa; đưa ra ngôn ngữ,
vị trí của tệp dữ liệu đơn vị mặc định và vị trí của các đơn vị cá nhân
tập tin dữ liệu; cho biết nếu tệp dữ liệu đơn vị cá nhân không tồn tại.

Khi được cung cấp kết hợp với tùy chọn '--terse', chương trình chỉ in phiên bản
số và lối thoát.

Khi được cung cấp kết hợp với tùy chọn '--verbose', chương trình, tùy chọn '--version'
có tác dụng tương tự như tùy chọn '--info' bên dưới.

-I, --thông tin
In thông tin được cung cấp với tùy chọn '--version', hiển thị tên đường dẫn của
chương trình đơn vị, hiển thị trạng thái của môi trường 'UNITSFILE' và 'MYUNITSFILE'
các biến và thông tin bổ sung về cách 'đơn vị' định vị các tệp liên quan.
Trên hệ thống chạy Microsoft Windows, trạng thái của môi trường 'UNITSLOCALE'
biến và thông tin về bản đồ địa phương liên quan cũng được cung cấp. Tùy chọn này
thường chỉ quan tâm đến các nhà phát triển và quản trị viên, nhưng đôi khi nó có thể
hữu ích cho việc khắc phục sự cố.

Kết hợp các tùy chọn '--version' và '--verbose' có tác dụng tương tự như đưa ra '--info'.

-U, --unitsfile
In vị trí của tệp dữ liệu đơn vị mặc định và thoát; nếu tệp không thể được
tìm thấy, in `` Không tìm thấy tệp dữ liệu đơn vị ''.

-l miền địa phương, --ngôn ngữ miền địa phương
In thông tin được cung cấp với tùy chọn '--version', hiển thị Lực lượng được chỉ định
ngôn ngữ như 'en_GB' để nhận định nghĩa tiếng Anh theo mặc định. Điều này ghi đè
ngôn ngữ được xác định từ cài đặt hệ thống hoặc biến môi trường. Nhìn thấy locale cho một
mô tả về định dạng ngôn ngữ.

THÊM CỦA BẠN SỞ HỮU ĐỊNH NGHĨA


Các đơn vị Ngày Các Tập Tin
Các đơn vị và tiền tố mà 'đơn vị' có thể chuyển đổi được xác định trong tệp dữ liệu đơn vị,
thường là '/usr/share/units/definitions.units'. Nếu bạn không thể tìm thấy tệp này, hãy chạy
'đơn vị - phiên bản' để lấy thông tin về vị trí tệp để cài đặt của bạn.
Mặc dù bạn có thể mở rộng hoặc sửa đổi tệp dữ liệu này nếu bạn có đặc quyền người dùng thích hợp,
thường tốt hơn là đặt các tiện ích mở rộng trong các tệp riêng biệt để các định nghĩa sẽ
được bảo toàn nếu bạn cập nhật 'đơn vị'.

Bạn có thể bao gồm các tệp dữ liệu bổ sung trong cơ sở dữ liệu đơn vị bằng cách sử dụng lệnh '! Include'
trong tệp dữ liệu đơn vị tiêu chuẩn. Ví dụ

! include /usr/local/share/units/local.units

có thể thích hợp cho một tệp dữ liệu bổ sung trên toàn trang web. Vị trí của
Câu lệnh '! include' trong tệp dữ liệu đơn vị tiêu chuẩn là quan trọng; định nghĩa sau này
thay thế các định nghĩa trước đó, vì vậy bất kỳ định nghĩa nào trong một tệp được bao gồm sẽ ghi đè các định nghĩa
trước câu lệnh '! include' trong tệp dữ liệu đơn vị tiêu chuẩn. Với lời gọi thông thường,
không có cảnh báo nào được đưa ra về các định nghĩa lại; để đảm bảo rằng bạn không có một
định nghĩa lại, chạy 'đơn vị -c' sau khi thực hiện thay đổi đối với bất kỳ tệp dữ liệu đơn vị nào.

Nếu bạn muốn thêm các đơn vị của riêng mình ngoài hoặc thay thế cho tiêu chuẩn hoặc trên toàn trang web
các tệp dữ liệu đơn vị bổ sung, bạn có thể đưa chúng vào tệp '.units' trong nhà của bạn
danh mục. Nếu tệp này tồn tại, nó sẽ được đọc sau tệp dữ liệu đơn vị tiêu chuẩn, vì vậy bất kỳ
các định nghĩa trong tệp này sẽ thay thế các định nghĩa của cùng các đơn vị trong dữ liệu chuẩn
tệp hoặc trong các tệp được bao gồm từ tệp dữ liệu chuẩn. Tệp này sẽ không được đọc nếu có
các tệp đơn vị được chỉ định trên dòng lệnh. (Trong Windows, tệp đơn vị cá nhân là
tên là 'unitdef.units'.) Chạy 'đơn vị -V' sẽ hiển thị vị trí và tên của bạn
hồ sơ đơn vị cá nhân.

Chương trình 'đơn vị' trước tiên cố gắng xác định thư mục chính của bạn từ 'HOME'
biến môi trường. Trên hệ thống chạy Microsoft Windows, nếu 'HOME' không tồn tại,
'đơn vị' cố gắng tìm thư mục chính của bạn từ 'HOMEDRIVE', 'HOMEPATH' và
'THÔNG TIN NGƯỜI DÙNG'. Bạn có thể chỉ định một tệp tùy ý làm tệp dữ liệu đơn vị cá nhân của bạn với
biến môi trường 'MYUNITSFILE'; nếu biến này tồn tại, giá trị của nó sẽ được sử dụng mà không
tìm kiếm thư mục chính của bạn. Các tệp dữ liệu đơn vị mặc định được mô tả chi tiết hơn
in Ngày Các Tập Tin.

Xác định Mới Các đơn vị Tiền tố
Một đơn vị được chỉ định trên một dòng duy nhất bằng cách đặt tên và số tương đương của nó. Bình luận
bắt đầu bằng ký tự '#', ký tự này có thể xuất hiện ở bất kỳ đâu trong một dòng. Ký tự gạch chéo ngược
('\') hoạt động như một ký tự tiếp tục nếu nó xuất hiện dưới dạng ký tự cuối cùng trên một dòng,
làm cho nó có thể trải rộng các định nghĩa ra nhiều dòng nếu muốn. Một tập tin có thể là
bao gồm bằng cách đưa ra lệnh '! include' theo sau là tên của tệp. Các '!' cần phải
ký tự đầu tiên trên dòng. Tệp sẽ được tìm kiếm trong cùng thư mục với
tệp mẹ trừ khi bạn cung cấp một đường dẫn đầy đủ. Tên của tệp sẽ không được đưa vào
chứa ký tự bình luận '#'.

Tên đơn vị không được chứa bất kỳ ký tự toán tử nào '+', '-', '*', '/', '|', '^',
';', '~', ký tự chú thích '#' hoặc dấu ngoặc đơn. Chúng không thể bắt đầu hoặc kết thúc bằng
dấu gạch dưới ('_'), dấu phẩy (',') hoặc dấu thập phân ('.'). Dấu gạch ngang hình (U + 2012),
dấu trừ (`- '; U + 2212) và dấu gạch ngang (` -'; U + 2013) được chuyển đổi thành toán tử
'-', vì vậy không ký tự nào trong số này có thể xuất hiện trong tên đơn vị. Tên không được bắt đầu bằng
chữ số và nếu tên kết thúc bằng chữ số khác XNUMX, chữ số đó phải được đặt trước
chuỗi bắt đầu bằng dấu gạch dưới và sau đó chỉ gồm các chữ số, số thập phân
điểm, hoặc dấu phẩy. Ví dụ: 'foo_2', 'foo_2,1' hoặc 'foo_3.14' là những tên hợp lệ nhưng
'foo2' hoặc 'foo_a2' không hợp lệ. Bạn có thể định nghĩa oxit nitơ là

N2O nitơ 2 + oxy

nhưng cần phải xác định nitơ điôxít là

NO_2 nitơ + oxy 2

Hãy cẩn thận xác định các đơn vị mới so với các đơn vị cũ để giảm dẫn đến
các đơn vị nguyên thủy, được đánh dấu bằng '!' nhân vật. Đơn vị không thứ nguyên được chỉ định
bằng cách sử dụng chuỗi '! không thứ nguyên' cho định nghĩa đơn vị.

Khi thêm các đơn vị mới, hãy đảm bảo sử dụng tùy chọn '-c' để kiểm tra xem các đơn vị mới có giảm
đúng. Nếu bạn tạo một vòng lặp trong định nghĩa đơn vị, thì 'đơn vị' sẽ treo khi
được gọi bằng tùy chọn '-c'. Bạn sẽ cần sử dụng tùy chọn '--check-verbose',
in ra từng đơn vị khi nó được kiểm tra. Chương trình sẽ vẫn bị treo, nhưng đơn vị cuối cùng
được in ra sẽ là đơn vị gây ra vòng lặp vô hạn.

Nếu bạn xác định bất kỳ đơn vị nào chứa ký tự '+', hãy kiểm tra cẩn thận chúng vì '-c'
tùy chọn sẽ không bắt các tổng không phù hợp. Hãy cẩn thận với toán tử '-'.
Khi được sử dụng như một toán tử nhị phân, ký tự '-' có thể thực hiện phép cộng hoặc phép nhân
tùy thuộc vào các tùy chọn được sử dụng để gọi 'đơn vị'. Để đảm bảo hành vi nhất quán, hãy sử dụng '-'
chỉ như một toán tử phủ định một ngôi khi viết các định nghĩa đơn vị. Nhân hai đơn vị
để lại một khoảng trắng hoặc sử dụng toán tử '*' một cách cẩn thận, nhớ lại rằng nó có thể có hai
giá trị ưu tiên và có thể yêu cầu dấu ngoặc đơn để đảm bảo hành vi nhất quán. Để tính toán
sự khác biệt của 'foo' và 'bar' viết 'foo + (- bar)' hoặc thậm chí 'foo + -bar'.

Dưới đây là một ví dụ về tệp dữ liệu ngắn xác định một số đơn vị cơ bản:

m! # Mét là một đơn vị nguyên thủy
giây! # Thứ hai là một đơn vị nguyên thủy
rad! không thứ nguyên # Một đơn vị nguyên thủy không thứ nguyên
micro- 1e-6 # Xác định tiền tố
phút 60 giây # Một phút là 60 giây
giờ 60 phút # Một giờ là 60 phút
inch 0.0254 m # Inch được xác định theo mét
ft 12 inch # Chân được xác định theo inch
dặm 5280 ft # Và dặm

Đơn vị kết thúc bằng ký tự '-' là tiền tố. Nếu định nghĩa tiền tố chứa bất kỳ
Các ký tự '/', hãy chắc chắn rằng chúng được bảo vệ bằng dấu ngoặc đơn. Nếu bạn xác định 'nửa- 1/2' thì
'nửa mét' sẽ tương đương với '1 / (2 mét)'.

Xác định Phi tuyến Các đơn vị
Một số chuyển đổi đơn vị quan tâm là phi tuyến tính; ví dụ, chuyển đổi nhiệt độ
giữa thang đo Fahrenheit và độ C không thể được thực hiện bằng cách chỉ đơn giản nhân với
những nhân tố biến đổi.

Khi bạn đưa ra định nghĩa đơn vị tuyến tính, chẳng hạn như 'inch 2.54 cm', bạn đang cung cấp
thông tin mà 'đơn vị' sử dụng để chuyển đổi giá trị tính bằng inch thành đơn vị mét nguyên thủy.
Đối với các đơn vị phi tuyến, bạn đưa ra một định nghĩa chức năng cung cấp cùng một thông tin.

Các đơn vị phi tuyến được biểu diễn bằng ký hiệu chức năng. Nó là tốt nhất để xem xét điều này
ký hiệu không phải là một lời gọi hàm mà là một cách thêm các đơn vị vào một số, cũng giống như vậy
cách viết tên đơn vị tuyến tính sau một số sẽ thêm đơn vị vào số đó. Trong nội bộ,
các đơn vị phi tuyến được xác định bởi một cặp hàm chuyển đổi sang và từ các đơn vị tuyến tính
trong cơ sở dữ liệu, để có thể chuyển đổi cuối cùng sang các đơn vị nguyên thủy.

Đây là một ví dụ về định nghĩa đơn vị phi tuyến:

tempF (x) đơn vị = [1; K] miền = [- 459.67,) dải = [0,) \
(x + (- 32)) degF + stdtemp; (tempF + (- stdtemp)) / degF + 32

Định nghĩa đơn vị phi tuyến bao gồm tên đơn vị, tên tham số chính thức, hai hàm,
và các thông số kỹ thuật tùy chọn cho các đơn vị, miền và phạm vi (miền của
chức năng trái ngược). Các hàm cho 'đơn vị' biết cách chuyển đổi sang và từ đơn vị mới.
Để tạo ra kết quả hợp lệ, các đối số của các hàm này cần phải có
và nằm trong các miền mà các chức năng được xác định.

Định nghĩa bắt đầu bằng tên đơn vị, theo sau ngay lập tức (không có khoảng trắng) bởi dấu '('
tính cách. Trong ngoặc đơn là tên của tham số hình thức. Tiếp theo là một tùy chọn
đặc điểm kỹ thuật của các đơn vị được yêu cầu bởi các chức năng trong định nghĩa. Trong ví dụ
ở trên, thông số kỹ thuật 'units = [1; K]' chỉ ra rằng hàm 'tempF' yêu cầu
đối số đầu vào phù hợp với '1' (tức là đối số không có thứ nguyên) và
hàm nghịch đảo yêu cầu một đối số đầu vào phù hợp với 'K'. Đối với phi tuyến bình thường
định nghĩa đơn vị, hàm chuyển tiếp sẽ luôn nhận đối số không thứ nguyên; trong
nói chung, hàm nghịch đảo sẽ cần các đơn vị phù hợp với số lượng được đo bởi
đơn vị phi tuyến. Việc chỉ định các đơn vị cho phép 'các đơn vị' thực hiện kiểm tra lỗi trên
các đối số hàm và cũng để gán các đơn vị cho các đặc tả miền và dải ô, là
mô tả sau.

Tiếp theo các định nghĩa chức năng xuất hiện. Trong ví dụ trên, hàm 'tempF' là
Được định nghĩa bởi

tempF (x) = (x + (- 32)) degF + stdtemp

Điều này đưa ra một quy tắc để chuyển đổi 'x' trong các đơn vị 'tempF' thành các đơn vị tuyến tính của tuyệt đối
nhiệt độ, giúp có thể chuyển đổi từ nhiệt độ sang các đơn vị khác.

Để bật chuyển đổi sang độ F, bạn phải đưa ra quy tắc cho các chuyển đổi nghịch đảo.
Nghịch đảo sẽ là 'x (tempF)' và định nghĩa của nó xuất hiện sau dấu ';' tính cách. Trong của chúng tôi
ví dụ, nghịch đảo là

x (tempF) = (tempF + (- stdtemp)) / degF + 32

Định nghĩa nghịch đảo này lấy nhiệt độ tuyệt đối làm đối số của nó và chuyển nó thành
nhiệt độ F. Có thể bỏ qua nghịch đảo bằng cách bỏ dấu ';' tính cách
và định nghĩa nghịch đảo, nhưng sau đó chuyển đổi đến đơn vị sẽ không thể thực hiện được. Nếu
định nghĩa nghịch đảo bị bỏ qua, tùy chọn '--check' sẽ hiển thị cảnh báo. Nó tùy thuộc vào
bạn tính toán và nhập đúng hàm nghịch đảo để có được các chuyển đổi thích hợp; các
Tùy chọn '--check' kiểm tra nghịch đảo tại một điểm và in lỗi nếu nó không hợp lệ
ở đó, nhưng điều này không đảm bảo rằng nghịch đảo của bạn là đúng.

Với một số định nghĩa, các đơn vị có thể khác nhau. Ví dụ, định nghĩa

hình vuông (x) x ^ 2

có thể có bất kỳ đơn vị tùy ý nào và cũng có thể nhận đối số không thứ nguyên. Trong trường hợp như vậy,
bạn nên không chỉ định đơn vị. Nếu một định nghĩa lấy từ gốc các đối số của nó, thì
định nghĩa chỉ hợp lệ cho các đơn vị mang lại một gốc như vậy. Ví dụ,

tia nước (x) sqrt (x)

có giá trị đối với đối số không thứ nguyên và đối số có quyền hạn đơn vị chẵn.

Một số định nghĩa có thể không hợp lệ cho tất cả các số thực. Trong những trường hợp như vậy, 'đơn vị' có thể xử lý
lỗi tốt hơn nếu bạn chỉ định một miền và phạm vi thích hợp. Bạn chỉ định miền và
phạm vi như hình dưới đây:

baume (d) đơn vị = [1; g / cm ^ 3] miền = [0,130.5] dải = [1,10] \
(145 / (145-d)) g / cm ^ 3; (baume + -g / cm ^ 3) 145 / baume

Trong ví dụ này, miền được chỉ định sau 'domain =' với các điểm cuối được cung cấp trong
dấu ngoặc. Theo quy ước toán học, dấu ngoặc vuông biểu thị một dấu đóng
khoảng thời gian (một khoảng bao gồm các điểm cuối của nó) và dấu ngoặc đơn cho biết khoảng thời gian mở (một
không bao gồm các điểm cuối của nó). Một khoảng thời gian có thể được mở hoặc đóng trên một hoặc cả hai
kết thúc; khoảng thời gian không bị ràng buộc ở một trong hai đầu được biểu thị bằng cách bỏ qua giới hạn trên
kết thúc đó. Ví dụ, một đại lượng mà decibel (dB) được áp dụng có thể có bất kỳ giá trị nào
lớn hơn 0, vì vậy phạm vi được biểu thị bằng '(XNUMX,)':

decibel (x) đơn vị = [1; 1] range = (0,) 10 ^ (x / 10); 10 log (decibel)

Nếu miền hoặc phạm vi được cung cấp, điểm cuối thứ hai phải lớn hơn điểm đầu tiên.

Thông số kỹ thuật của miền và phạm vi có thể xuất hiện độc lập và theo bất kỳ thứ tự nào cùng với
đặc điểm kỹ thuật của đơn vị. Các giá trị cho điểm cuối của miền và phạm vi được đính kèm với
các đơn vị được đưa ra trong thông số kỹ thuật đơn vị và nếu cần, giá trị tham số là
được điều chỉnh để so sánh với các điểm cuối. Ví dụ: nếu một định nghĩa bao gồm
'units = [1; ft]' và 'range = [3,)', phạm vi sẽ được coi là 3 ft đến vô cùng. Nếu
hàm được truyền một tham số là '900 mm', giá trị đó sẽ được điều chỉnh thành 2.9527559 ft,
nằm ngoài phạm vi được chỉ định. Nếu bạn bỏ qua thông số đơn vị khỏi
ví dụ trước, 'đơn vị' không thể cho biết liệu bạn có ý định điểm cuối thấp hơn là 3 ft hay
3 microfurlongs, và không thể điều chỉnh giá trị thông số 900 mm để so sánh. Không có
đơn vị, giá trị số khác XNUMX hoặc cộng hoặc trừ vô cùng cho miền hoặc phạm vi
điểm cuối là vô nghĩa và do đó chúng không được phép. Nếu bạn cung cấp các giá trị khác
nếu không có đơn vị thì định nghĩa sẽ bị bỏ qua và bạn sẽ nhận được thông báo lỗi.

Mặc dù các thông số kỹ thuật về đơn vị, miền và phạm vi là tùy chọn, nhưng tốt nhất bạn nên cung cấp cho chúng
khi nào chúng có thể áp dụng được; làm như vậy cho phép 'đơn vị' thực hiện kiểm tra lỗi tốt hơn và
đưa ra nhiều thông báo lỗi hữu ích hơn. Việc cung cấp miền và phạm vi cũng cho phép '--check'
tùy chọn để tìm một điểm trong miền để sử dụng cho việc kiểm tra điểm nghịch đảo của bạn
Định nghĩa.

Bạn có thể tạo từ đồng nghĩa cho các đơn vị phi tuyến bằng cách cung cấp cả chuyển tiếp và nghịch đảo
chức năng; Các hàm nghịch đảo có thể nhận được bằng cách sử dụng toán tử '~'. Vì vậy, để tạo ra một
từ đồng nghĩa với 'tempF' mà bạn có thể viết

đơn vị fahrenheit (x) = [1; K] tempF (x); ~ tempF (fahrenheit)

Điều này hữu ích để tạo định nghĩa đơn vị phi tuyến hơi khác với định nghĩa
định nghĩa hiện có mà không cần phải lặp lại các chức năng ban đầu. Ví dụ,

đơn vị dBW (x) = [1; W] dải = [0,) dB (x) W; ~ dB (dBW / W)

Nếu bạn muốn một từ đồng nghĩa để chỉ một đơn vị phi tuyến tính hiện có mà không cần sửa đổi, bạn có thể
làm như vậy đơn giản hơn bằng cách thêm từ đồng nghĩa với các dấu ngoặc đơn được thêm vào dưới dạng một đơn vị mới, với
đơn vị phi tuyến hiện có — không có dấu ngoặc — như định nghĩa. Vì vậy, để tạo một từ đồng nghĩa với
'tempF' bạn có thể viết

fahrenheit () tempF

Định nghĩa phải là một đơn vị phi tuyến; ví dụ, từ đồng nghĩa

fahrenheit () mét

sẽ dẫn đến thông báo lỗi khi 'đơn vị' bắt đầu.

Đôi khi bạn có thể muốn xác định một chức năng hoạt động trên các đơn vị. Điều này có thể thực hiện được
sử dụng định nghĩa đơn vị phi tuyến. Ví dụ: định nghĩa dưới đây cung cấp chuyển đổi
giữa bán kính và diện tích của hình tròn. Định nghĩa này yêu cầu một độ dài làm đầu vào và
tạo ra một khu vực dưới dạng đầu ra, như được chỉ ra bởi thông số kỹ thuật 'đơn vị ='. Chỉ định
phạm vi vì các số không âm có thể ngăn chặn các thông báo lỗi khó hiểu.

circlearea (r) unit = [m; m ^ 2] range = [0,) pi r ^ 2; sqrt (circlearea / pi)

Xác định Từng mảnh tuyến tính Các đơn vị
Đôi khi bạn có thể quan tâm đến một đơn vị tuyến tính mảnh chẳng hạn như nhiều đồng hồ đo dây.
Đơn vị tuyến tính từng mảnh có thể được xác định bằng cách chỉ định chuyển đổi sang đơn vị tuyến tính trên danh sách
trong tổng số điểm. Việc chuyển đổi tại các điểm khác sẽ được thực hiện bằng phép nội suy tuyến tính. Một phần
định nghĩa của thước đo kẽm là

kẽmgauge [in] 1 0.002, 10 0.02, 15 0.04, 19 0.06, 23 0.1

Trong ví dụ này, 'zincgauge' là tên của đơn vị tuyến tính từng mảnh. Định nghĩa của
một đơn vị như vậy được biểu thị bằng ký tự '[' được nhúng. Sau dấu ngoặc, bạn nên
chỉ ra các đơn vị được gắn vào các số trong bảng. Không có khoảng trắng nào có thể xuất hiện
trước ký tự ']', vì vậy định nghĩa như 'foo [kg mét]' không hợp lệ; thay vào đó viết
'foo [kg * mét]'. Định nghĩa của đơn vị bao gồm một danh sách các cặp tùy chọn
ngăn cách nhau bằng dấu phẩy. Danh sách này xác định một hàm để chuyển đổi từ mảnh ghép
đơn vị tuyến tính sang đơn vị tuyến tính. Mục đầu tiên trong mỗi cặp là đối số hàm; các
mục thứ hai là giá trị của hàm tại đối số đó (theo các đơn vị được chỉ định trong
dấu ngoặc). Trong ví dụ này, chúng tôi xác định 'zincgauge' tại năm điểm. Ví dụ, chúng tôi đặt
'kẽmgauge(1) 'bằng' 0.002 in '. Các định nghĩa như thế này có thể dễ đọc hơn nếu
được viết bằng cách sử dụng các ký tự tiếp nối như

zincgauge [in] \
1 0.002 \
10 0.02 \
15 0.04 \
19 0.06 \
23 0.1

Với định nghĩa trước, chuyển đổi sau có thể được thực hiện:

Bạn có: kẽmgauge(10)
Bạn muốn: trong
* 0.02
/ 50
Bạn có: 01 inch
Bạn muốn: zincgauge
5

Nếu bạn xác định một đơn vị tuyến tính từng đoạn không phải là đơn điệu hoàn toàn, thì nghịch đảo
sẽ không được xác định rõ. Nếu nghịch đảo được yêu cầu cho một đơn vị như vậy, 'đơn vị' sẽ
trả về nghịch đảo nhỏ nhất.

Sau khi thêm các định nghĩa về đơn vị phi tuyến tính, thông thường bạn nên chạy 'đơn vị - kiểm tra' để kiểm tra
cho các lỗi. Nếu từ khóa 'đơn vị' không được cung cấp, tùy chọn '- kiểm tra' sẽ kiểm tra
định nghĩa đơn vị bằng cách sử dụng đối số không thứ nguyên, sau đó kiểm tra bằng cách sử dụng
sự kết hợp của các đơn vị, cũng như hình vuông và hình lập phương của sự kết hợp đó; một cảnh báo là
được đưa ra nếu bất kỳ bài kiểm tra nào trong số này không thành công. Ví dụ,

Cảnh báo: hàm 'squirt (x)' được định nghĩa là 'sqrt (x)'
không thành công đối với một số đầu vào thử nghiệm:
squirt (7 (kg K) ^ 1): Đơn vị không phải là căn
squirt (7 (kg K) ^ 3): Đơn vị không phải là căn

Chạy 'đơn vị - kiểm tra' sẽ in cảnh báo nếu một đơn vị tuyến tính mảnh không đơn điệu là
đã gặp. Ví dụ, mối quan hệ giữa chỉ định mài mòn phủ ANSI và
kích thước hạt trung bình là không đơn điệu trong khoảng 800 grit:

ansicoated [micron] \
. . .
600 10.55 \
800 11.5 \
1000 9.5 \

Chạy 'đơn vị - kiểm tra' sẽ đưa ra thông báo lỗi

Bảng 'ansicoated' thiếu nghịch đảo duy nhất xung quanh mục 800

Mặc dù nghịch đảo không được xác định rõ trong vùng này, nhưng nó không thực sự là một lỗi.
Việc xem các thông báo lỗi như vậy có thể rất tẻ nhạt và nếu có đủ chúng, họ có thể
đánh lạc hướng khỏi những sai sót thực sự. Lỗi kiểm tra định nghĩa đơn vị phi tuyến có thể
bị ngăn chặn bằng cách đưa ra từ khóa 'noerror'; đối với các ví dụ ở trên, điều này có thể được thực hiện như

squirt (x) miền noerror = [0,) range = [0,) sqrt (x); tia nước ^ 2
ansicoated [micron] noerror \
. . .

Sử dụng từ khóa 'noerror' một cách thận trọng. Cách tiếp cận an toàn nhất sau khi thêm một đơn vị phi tuyến
định nghĩa là chạy 'đơn vị - kiểm tra' và xác nhận rằng không có lỗi thực tế nào trước đó
thêm từ khóa 'noerror'.

Xác định đơn vị Danh sách bí danh
Bí danh danh sách đơn vị được xử lý khác với định nghĩa đơn vị, vì chúng là một dữ liệu
mục nhập viết tắt chứ không phải là một định nghĩa đúng cho một đơn vị mới. Bí danh danh sách đơn vị
định nghĩa bắt đầu bằng '! unitlist' và bao gồm bí danh và định nghĩa; vì
ví dụ, các bí danh có trong tệp dữ liệu đơn vị tiêu chuẩn là

! unitlist hms hr; min; sec
! unitlist time year; day; hr; min; sec
! unitlist dms deg; arcmin; arcsec
! unitlist ftin ft; in; 1 | 8 in
! unitlist usvol cup; 3 | 4 cup; 2 | 3 cup; 1 | 2 cup; 1 | 3 cup; 1 | 4 cup; \
tbsp; tsp; 1 | 2 muỗng canh; 1 | 4 muỗng canh; 1 | 8 muỗng canh

Bí danh danh sách đơn vị chỉ dành cho danh sách đơn vị, vì vậy định nghĩa phải bao gồm dấu ';'. Bài học
bí danh danh sách không bao giờ có thể được kết hợp với các đơn vị hoặc bí danh danh sách đơn vị khác, vì vậy
định nghĩa về 'thời gian' được hiển thị ở trên có thể không đã được rút ngắn thành 'year; day; hms'.

Như thường lệ, hãy đảm bảo chạy 'đơn vị - kiểm tra' để đảm bảo rằng các đơn vị được liệt kê trong danh sách đơn vị
bí danh là phù hợp.

SỐ OUTPUT FORMAT


Theo mặc định, 'đơn vị' hiển thị kết quả đến tám chữ số có nghĩa. Bạn có thể thay đổi điều này bằng
các tùy chọn '--exponential', '--digits' và '--output-format'. Đầu tiên đặt một
định dạng hàm mũ (tức là ký hiệu khoa học) như được sử dụng trong các 'đơn vị' Unix ban đầu
chương trình thứ hai cho phép bạn chỉ định một số chữ số có nghĩa khác và
cuối cùng cho phép bạn kiểm soát giao diện đầu ra bằng cách sử dụng định dạng cho 'printf ()'
trong ngôn ngữ lập trình C. Nếu bạn chỉ muốn thay đổi số
các chữ số có nghĩa hoặc chỉ định loại định dạng hàm mũ, sử dụng '--digits' và
Tùy chọn '- cấp số nhân'. Tùy chọn '--output-format' cho phép kiểm soát tốt nhất
giao diện đầu ra, nhưng yêu cầu ít nhất kiến ​​thức thô sơ về định dạng 'printf ()'
cú pháp. Nhìn thấy Kêu gọi Các đơn vị để biết mô tả về các tùy chọn này.

Định dạng Đặc điểm kỹ thuật
Đặc tả định dạng được công nhận với tùy chọn '--output-format' là một tập hợp con của
cho 'printf ()'. Đặc tả định dạng có dạng
'%' [cờ][chiều rộng] ['.'chính xác]kiểu; nó phải bắt đầu bằng '%' và phải kết thúc bằng dấu -
chỉ định loại điểm: 'g' hoặc 'G' để chỉ định số chữ số có nghĩa, 'e' hoặc 'E'
cho ký hiệu khoa học và 'f' cho dấu thập phân cố định. Tiêu chuẩn ISO C99 đã thêm
Loại 'F' cho dấu thập phân cố định và loại 'a' và 'A' cho dấu phẩy động thập lục phân;
các loại này được phép với các trình biên dịch hỗ trợ chúng. Nhập các từ bổ nghĩa độ dài (ví dụ:
'L' để chỉ một dấu kép dài) là không thể áp dụng và không được phép.

Định dạng mặc định cho 'đơn vị' là '% .8g'; để có độ chính xác cao hơn, bạn có thể chỉ định
'-o% .15g'. Các loại định dạng 'g' và 'G' sử dụng định dạng số mũ bất cứ khi nào số mũ
sẽ nhỏ hơn -4, vì vậy giá trị 0.000013 hiển thị là '1.3e-005'. Những loại này cũng sử dụng
ký hiệu mũ khi số mũ lớn hơn hoặc bằng độ chính xác, vì vậy với
định dạng mặc định, giá trị 5e7 hiển thị là '50000000' và giá trị 5e8 hiển thị là
'5e + 008'. Nếu bạn thích hiển thị điểm cố định, bạn có thể chỉ định '-o% .8f'; Tuy nhỏ
các số sẽ hiển thị rất ít chữ số có nghĩa và các giá trị nhỏ hơn 0.5e-8 sẽ hiển thị
không có gì ngoài số không.

Đặc tả định dạng có thể bao gồm một hoặc nhiều cờ tùy chọn: '+', '' (khoảng trắng), '#',
'-' hoặc '0' (chữ số XNUMX). Cờ nhóm chữ số '' 'được phép với các trình biên dịch
ủng hộ điều này. Các cờ được theo sau bởi một giá trị tùy chọn cho chiều rộng trường tối thiểu và một
đặc điểm kỹ thuật chính xác tùy chọn bắt đầu bằng dấu chấm (ví dụ: '.6'). Chiều rộng trường
bao gồm các chữ số, dấu thập phân, số mũ, dấu phân cách hàng nghìn (với chữ số-
cờ nhóm) và dấu hiệu nếu có trong số này được hiển thị.

Flags
Cờ '+' khiến đầu ra có dấu ('+' hoặc '-'). Cờ không gian '' cũng tương tự
đối với cờ '+', ngoại trừ khi giá trị là dương, nó được bắt đầu bằng dấu cách
chứ không phải là một dấu cộng; cờ này bị bỏ qua nếu cờ '+' cũng được đưa ra. Dấu '+' hoặc
cờ '' có thể hữu ích nếu các chuyển đổi có thể bao gồm các kết quả tích cực và tiêu cực, và
bạn muốn căn chỉnh các điểm thập phân theo ký hiệu hàm mũ. Cờ '#' gây ra
giá trị đầu ra để chứa một dấu thập phân trong mọi trường hợp; theo mặc định, đầu ra chứa
chỉ dấu thập phân nếu có các chữ số (có thể là các số không ở cuối) ở bên phải của
điểm. Với các loại 'g' hoặc 'G', cờ '#' cũng ngăn chặn việc loại bỏ dấu vết
số không. Cờ phân nhóm chữ số '' 'hiển thị dấu phân cách hàng nghìn bằng chữ số ở bên trái của
dấu thập phân. Điều này có thể hữu ích khi hiển thị số lượng lớn ở điểm cố định
số thập phân; ví dụ: với định dạng '% f',

Bạn có: dặm
Bạn muốn: microfurlong
* 8000000.000000
/ 0.000000

độ lớn của kết quả đầu tiên có thể không rõ ràng ngay lập tức nếu không tính
chữ số bên trái dấu thập phân. Nếu dấu phân cách hàng nghìn là dấu phẩy (','),
đầu ra có định dạng '%' f 'có thể là

Bạn có: dặm
Bạn muốn: microfurlong
* 8,000,000.000000
/ 0.000000

làm cho độ lớn trở nên rõ ràng. Thật không may, một số trình biên dịch hỗ trợ chữ số-
cờ phân nhóm.

Với cờ '-', giá trị đầu ra được căn trái trong chiều rộng trường được chỉ định. Nếu như
chiều rộng trường lớn hơn mức cần thiết để hiển thị giá trị đầu ra được chỉ định, '0' (không)
cờ khiến giá trị đầu ra được để trống bằng các số không cho đến khi chiều rộng trường được chỉ định
đạt được; ví dụ: với định dạng '% 011.6f',

Bạn có: troypound
Bạn muốn: hạt
* 5760.000000
/ 0000.000174

Cờ '0' không có hiệu lực nếu cờ '-' (căn trái) được đưa ra.

Phần Chiều rộng
Theo mặc định, giá trị đầu ra được căn trái và hiển thị với chiều rộng tối thiểu cần thiết
cho độ chính xác được chỉ định (hoặc mặc định). Nếu chiều rộng trường lớn hơn mức này là
được chỉ định, giá trị được hiển thị được căn phải và được đệm ở bên trái với đủ khoảng cách để
cung cấp chiều rộng trường được chỉ định. Thông số chiều rộng thường được sử dụng với fixed-
điểm thập phân để có các cột số căn chỉnh ở dấu thập phân; điều này được cho là ít hơn
hữu ích với 'đơn vị' hơn là với đầu ra cột dài, nhưng nó vẫn có thể hỗ trợ
nhanh chóng đánh giá độ lớn tương đối của các kết quả. Ví dụ, với định dạng
'% 12.6f',

Bạn có: km
Bạn muốn: trong
* 39370.078740
/ 0.000025
Bạn có: km
Bạn muốn: que
* 198.838782
/ 0.005029
Bạn có: km
Bạn muốn: lông dài
* 4.970970
/ 0.201168

Độ chính xác
Ý nghĩa của `` độ chính xác '' phụ thuộc vào loại định dạng. Với 'g' hoặc 'G', nó chỉ định
số chữ số có nghĩa (như tùy chọn '--digits'); với 'e', ​​'E', 'f' hoặc 'F',
nó chỉ định số chữ số tối đa được hiển thị sau dấu thập phân.

Với các loại định dạng 'g' và 'G', các số không ở cuối bị loại bỏ, vì vậy kết quả có thể
đôi khi có ít chữ số hơn độ chính xác được chỉ định (như đã nêu ở trên, cờ '#'
khiến các số không ở cuối được hiển thị).

Độ chính xác mặc định là 6, vì vậy '% g' tương đương với '% .6g' và sẽ hiển thị đầu ra cho
sáu chữ số có nghĩa. Tương tự, '% e' hoặc '% f' sẽ hiển thị đầu ra có sáu chữ số
sau dấu thập phân.

Hàm C 'printf ()' cho phép độ chính xác của kích thước tùy ý, cho dù tất cả
chữ số có nghĩa. Với hầu hết các trình biên dịch, độ chính xác bên trong tối đa với 'đơn vị'
là 15 chữ số thập phân (hoặc 13 chữ số thập lục phân). Với tùy chọn '--digits', bạn
giới hạn ở độ chính xác bên trong tối đa; với tùy chọn '--output-format', bạn có thể
chỉ định độ chính xác lớn hơn giá trị này, nhưng nó có thể không có ý nghĩa. Trong vài trường hợp,
chỉ định độ chính xác vượt quá có thể dẫn đến việc làm tròn số. Ví dụ, một bảng Anh là
chính xác là 7000 hạt, nhưng với định dạng '% .18g', đầu ra có thể là

Bạn có: pound
Bạn muốn: hạt
* 6999.9999999999991
/ 0.00014285714285714287

Với định dạng '% .25g', bạn có thể nhận được như sau:

Bạn có: 1/3
Bạn muốn:
Định nghĩa: 0.333333333333333314829616256247

Trong trường hợp này, giá trị được hiển thị bao gồm một loạt các chữ số đại diện cho
dấu phẩy động nhị phân xấp xỉ 1/3 nhưng không có ý nghĩa đối với giá trị mong muốn
tính toán. Nói chung, kết quả có độ chính xác vượt quá phụ thuộc vào hệ thống. Các
độ chính xác chỉ ảnh hưởng đến trưng bày số lượng; nếu một kết quả dựa trên các hằng số vật lý
không được biết đến với độ chính xác được chỉ định, số chữ số có ý nghĩa vật lý
có thể ít hơn số chữ số được hiển thị.

Xem tài liệu về 'printf ()' để biết mô tả chi tiết hơn về định dạng
đặc điểm kỹ thuật.

Tùy chọn '--output-format' không tương thích với '--exponential' hoặc '--digits'
tùy chọn; nếu cái trước được đưa ra kết hợp với một trong hai cái sau, thì định dạng là
được kiểm soát bởi tùy chọn cuối cùng được đưa ra.

VỊ TRÍ


Một số đơn vị có giá trị khác nhau ở các vị trí khác nhau. Tính năng bản địa hóa
đáp ứng điều này bằng cách cho phép tệp dữ liệu đơn vị chỉ định các định nghĩa phụ thuộc vào
ngôn ngữ của người dùng.

locale
Ngôn ngữ là một tập hợp con của môi trường của người dùng cho biết ngôn ngữ của người dùng và
quốc gia và một số tùy chọn của người phục vụ, chẳng hạn như định dạng ngày tháng. Những đơn vị'
chương trình cố gắng xác định ngôn ngữ từ hàm setlocale POSIX; nếu điều này không thể
được thực hiện, 'đơn vị' kiểm tra các biến môi trường 'LC_CTYPE' và 'LANG'. Trên POSIX
hệ thống, ngôn ngữ có dạng Ngôn ngữ'_'đất nước, Nơi Ngôn ngữ là hai nhân vật
mã từ ISO 639-1 và đất nước là mã hai ký tự từ ISO 3166-1; Ngôn ngữ is
chữ thường và đất nước là chữ hoa. Ví dụ: ngôn ngữ POSIX cho Vương quốc Anh
là 'en_GB'.

Trên hệ thống chạy Microsoft Windows, giá trị được trả về bởi setlocale () khác với
điều đó trên hệ thống POSIX; 'đơn vị' cố gắng ánh xạ giá trị Windows thành giá trị POSIX bằng cách
của một bảng trong tệp 'locale_map.txt' trong cùng thư mục với các tệp dữ liệu khác.
Tệp bao gồm các mục nhập cho nhiều tổ hợp ngôn ngữ và quốc gia, và có thể
mở rộng để bao gồm các kết hợp khác. Tệp 'locale_map.txt' bao gồm hai tab-
các cột ngăn cách; mỗi mục nhập có dạng

Ngôn ngữ Windows POSIX-ngôn ngữ

Ở đâu POSIX-ngôn ngữ như được mô tả ở trên, và Ngôn ngữ Windows thường đánh vần cả hai
ngôn ngữ và quốc gia. Ví dụ: mục nhập cho Hoa Kỳ là

Tiếng Anh_Hoa Kỳ en_US

Bạn có thể buộc 'đơn vị' chạy ở một ngôn ngữ mong muốn bằng cách sử dụng tùy chọn '-l'.

Để tạo định nghĩa đơn vị cho một ngôn ngữ cụ thể, bạn bắt đầu một khối
định nghĩa trong một tệp dữ liệu đơn vị với '! locale' theo sau là tên miền. Các '!' cần phải
ký tự đầu tiên trên dòng. Chương trình 'đơn vị' chỉ đọc các định nghĩa sau
nếu ngôn ngữ hiện tại khớp. Bạn kết thúc khối các đơn vị được bản địa hóa bằng '! Endlocale'.
Đây là một ví dụ, định nghĩa gallon Anh.

! locale en_GB
gallon 4.54609 lít
! endlocale

thêm vào Nội địa hóa
Đôi khi ngôn ngữ không đủ để xác định tùy chọn đơn vị. Có thể là
sở thích khu vực hoặc một công ty có thể có các sở thích cụ thể. Mặc dù có thể
không phổ biến, những khác biệt như vậy có thể phát sinh với việc lựa chọn các đơn vị thông lệ tiếng Anh bên ngoài
của các nước nói tiếng Anh. Để giải quyết vấn đề này, 'đơn vị' cho phép xác định các định nghĩa
điều đó phụ thuộc vào cài đặt biến môi trường. Các biến môi trường có thể được kiểm soát
dựa trên ngôn ngữ hiện tại hoặc người dùng có thể đặt chúng để buộc một nhóm cụ thể
các định nghĩa.

Một khối định nghĩa có điều kiện trong tệp dữ liệu đơn vị bắt đầu bằng '! Var' hoặc
'! varnot' theo sau bởi một tên biến môi trường và sau đó là một danh sách được phân tách bằng dấu cách
các giá trị. Sự lãnh đạo '!' phải xuất hiện trong cột đầu tiên của tệp dữ liệu đơn vị và
khối điều kiện được kết thúc bằng '! endvar'. Định nghĩa trong các khối bắt đầu bằng '! Var'
chỉ được thực thi nếu biến môi trường chính xác bằng một trong các biến được liệt kê
các giá trị. Các định nghĩa trong các khối bắt đầu bằng '! Varnot' chỉ được thực thi nếu
biến môi trường không không bằng bất kỳ giá trị nào trong danh sách.

Inch từ lâu đã trở thành một thước đo chiều dài thông thường ở nhiều nơi. Từ đó đến từ
người Latin bác gái có nghĩa là `` một phần mười hai '', đề cập đến mối quan hệ của nó với bàn chân. Qua
thế kỷ 20, inch chính thức được định nghĩa ở các nước nói tiếng Anh tương đối
sân, nhưng cho đến năm 1959, sân có sự khác biệt đôi chút giữa các quốc gia đó. Ở Pháp
inch thông thường, được thay thế vào năm 1799 bằng mét, có chiều dài khác nhau dựa trên
trên một bàn chân Pháp. Các định nghĩa thông lệ này có thể được áp dụng như sau:

! var INCH_UNIT usa
sân 3600 | 3937 m
! endvar
! var INCH_UNIT canada
yard 0.9144 mét
! endvar
! var INCH_UNIT uk
yard 0.91439841 mét
! endvar
! var INCH_UNIT canada uk usa
foot 1 | 3 yard
inch 1 | 12 foot
! endvar
! var INCH_UNIT pháp
chân 144 | 443.296 m
inch 1 | 12 foot
dòng 1 | 12 inch
! endvar
! varnot INCH_UNIT usa uk france canada
! thông báo Giá trị không xác định cho INCH_UNIT
! endvar

Khi 'đơn vị' đọc các định nghĩa trên, nó sẽ kiểm tra biến môi trường
'INCH_UNIT' và chỉ tải các định nghĩa cho phần thích hợp. Nếu 'INCH_UNIT' là
bỏ đặt hoặc không được đặt thành một trong bốn giá trị được liệt kê thì 'đơn vị' sẽ chạy khối cuối cùng.
Trong trường hợp này, khối đó sử dụng lệnh '! Message' để hiển thị thông báo cảnh báo.
Ngoài ra, khối đó có thể đặt các giá trị mặc định.

Để tạo các giá trị mặc định bị cài đặt người dùng ghi đè, tệp dữ liệu có thể
sử dụng lệnh '! set' để đặt một biến môi trường có thể if it is không Đã định;
những cài đặt này chỉ dành cho lệnh gọi 'đơn vị' hiện tại và không tồn tại. Vì vậy, nếu
ví dụ trên được đặt trước bởi '! set INCH_UNIT france' thì điều này sẽ làm cho 'france' trở thành
giá trị mặc định cho 'INCH_UNIT'. Nếu người dùng đã đặt biến trong môi trường trước đó
gọi 'đơn vị', sau đó 'đơn vị' sẽ sử dụng giá trị của người dùng.

Để liên kết các cài đặt này với ngôn ngữ của người dùng, bạn kết hợp lệnh '! Set' với
lệnh '! locale'. Nếu bạn muốn kết hợp ví dụ trên với các ngôn ngữ phù hợp, bạn
có thể làm bằng trước định nghĩa trên với những điều sau:

! locale en_US
! đặt INCH_UNIT usa
! endlocale
! locale en_GB
! đặt INCH_UNIT uk
! endlocale
! locale en_CA
! đặt INCH_UNIT canada
! endlocale
! locale fr_FR
! đặt INCH_UNIT pháp
! endlocale
! đặt INCH_UNIT pháp

Các định nghĩa này đặt mặc định chung cho 'INCH_UNIT' thành 'france' và đặt mặc định
các giá trị cho bốn ngôn ngữ một cách thích hợp. Cài đặt mặc định tổng thể đến sau cùng để nó
chỉ áp dụng khi 'INCH_UNIT' không được đặt bởi một trong các lệnh khác hoặc bởi người dùng.

Nếu biến được cung cấp sau '! Var' hoặc '! Varnot' không được xác định thì 'đơn vị' sẽ in lỗi
thông báo và bỏ qua các định nghĩa sau đó. Sử dụng '! Set' để tạo giá trị mặc định để ngăn chặn
tình huống này từ phát sinh. Tùy chọn '-c' chỉ kiểm tra các định nghĩa đang hoạt động
cho môi trường và ngôn ngữ hiện tại, vì vậy khi thêm các định nghĩa mới, hãy cẩn thận kiểm tra
rằng tất cả các trường hợp đều dẫn đến một tập hợp các định nghĩa được xác định rõ ràng.

MÔI TRƯỜNG BIẾN


Chương trình 'đơn vị' sử dụng các biến môi trường sau:

TRANG CHỦ Chỉ định vị trí của thư mục chính của bạn; nó được sử dụng bởi 'đơn vị' để tìm một
tệp dữ liệu đơn vị cá nhân '.units'. Trên hệ thống chạy Microsoft Windows, tệp
là 'unitdef.units' và nếu 'HOME' không tồn tại, 'đơn vị' sẽ cố gắng xác định
thư mục chính từ các biến môi trường 'HOMEDRIVE' và 'HOMEPATH'; nếu những
biến không tồn tại, các đơn vị cuối cùng cố gắng 'USERPROFILE' — thường là
'C: \ Người dùng \tên truy nhập'(Windows Vista và Windows 7) hoặc
'C: \ Documents and Settings \tên truy nhập'(Windows XP).

LC_CTYPE, NGÔN NGỮ
Được kiểm tra để xác định ngôn ngữ nếu 'đơn vị' không thể lấy nó từ hoạt động
hệ thống. Các phần của tệp dữ liệu đơn vị tiêu chuẩn dành riêng cho một số ngôn ngữ nhất định.

MYUNITSFILE
Chỉ định tệp dữ liệu đơn vị cá nhân của bạn. Nếu biến này tồn tại, 'đơn vị' sử dụng
giá trị thay vì tìm kiếm '.units' trong thư mục chính của bạn. Các đơn vị cá nhân
tệp sẽ không được tải nếu bất kỳ tệp dữ liệu nào được cung cấp bằng tùy chọn '-f'.

PAGER Chỉ định máy nhắn tin để sử dụng để được trợ giúp và để hiển thị các đơn vị phù hợp. Các
chức năng trợ giúp duyệt qua cơ sở dữ liệu đơn vị và gọi máy nhắn tin bằng cách sử dụng '+ n'n cú pháp
để chỉ định một số dòng. Máy nhắn tin mặc định là 'nhiều hơn'; 'PAGER' có thể được sử dụng để
chỉ định các lựa chọn thay thế như 'less', 'pg', 'emacs' hoặc 'vi'.

ĐƠN VỊ_ENGLISH
Đặt thành 'US' hoặc 'GB' để chọn định nghĩa khối lượng của Hoa Kỳ hoặc Anh,
ghi đè mặc định từ ngôn ngữ của bạn.

ĐƠN VỊ
Chỉ định tệp dữ liệu đơn vị để sử dụng (thay vì mặc định). Bạn chỉ có thể
chỉ định một tệp dữ liệu đơn vị duy nhất bằng cách sử dụng biến môi trường này. Nếu dữ liệu đơn vị
các tệp được cung cấp bằng tùy chọn '-f', tệp được chỉ định bởi 'UNITSFILE' sẽ là
không được tải trừ khi tùy chọn '-f' được đưa ra với chuỗi trống
('đơn vị -f ""').

ĐƠN VỊ ĐỊA PHƯƠNG
Chỉ dành cho Windows; biến này không ảnh hưởng đến các hệ thống giống Unix. Chỉ định
tệp bản đồ địa phương đơn vị để sử dụng (thay vì mặc định). Biến này hiếm khi cần
được đặt, nhưng bạn có thể sử dụng nó để đảm bảo rằng tệp bản đồ địa phương sẽ được tìm thấy nếu
bạn chỉ định một vị trí cho tệp dữ liệu đơn vị bằng cách sử dụng tùy chọn '-f' hoặc
Biến môi trường 'UNITSFILE' và vị trí đó cũng không chứa
tệp bản đồ địa phương.

DỮ LIỆU CÁC TẬP TIN


Chương trình 'đơn vị' sử dụng hai tệp dữ liệu mặc định: 'định nghĩa.units' và 'currency.units'.
Chương trình cũng có thể sử dụng tệp dữ liệu đơn vị cá nhân tùy chọn '.units' ('unitdef.units'
trong Windows) nằm trong thư mục chính của người dùng. Tệp dữ liệu đơn vị cá nhân là
được mô tả chi tiết hơn trong Các đơn vị Ngày Các Tập Tin.

Trên các hệ thống giống Unix, các tệp dữ liệu thường được đặt trong '/ usr / share / units' nếu
'đơn vị' được cung cấp cùng với hệ điều hành hoặc trong '/ usr / local / share / units' nếu là 'đơn vị'
được biên dịch từ nguồn phân phối.

Trên hệ thống chạy Microsoft Windows, các tệp có thể ở cùng một vị trí nếu giống Unix
có sẵn các lệnh, có cấu trúc tệp giống Unix (ví dụ: 'C:/ usr / local'), và
'đơn vị' được biên dịch từ bản phân phối nguồn. Nếu các lệnh giống Unix không
có sẵn, một vị trí phổ biến hơn là 'C: \ Program Files (x86) \ GNU \ units' (cho 64-bit
Cài đặt Windows) hoặc 'C: \ Program Files \ GNU \ units' (dành cho cài đặt 32-bit).

Nếu 'đơn vị' được lấy từ Dự án GNU Win32 (http://gnuwin32.sourceforge.net/),
các tệp thường nằm trong 'C: \ Program Files \ GnuWin32 \ share \ units'.

Nếu tệp dữ liệu đơn vị mặc định không phải là tên đường dẫn tuyệt đối, 'đơn vị' sẽ tìm kiếm tệp
trong thư mục chứa chương trình 'đơn vị'; nếu tệp không được tìm thấy ở đó,
'đơn vị' sẽ nằm trong thư mục '../share/units' liên quan đến thư mục có
chương trình 'đơn vị'.

Bạn có thể xác định vị trí của các tệp bằng cách chạy 'đơn vị - phiên bản'. Đang chạy
'đơn vị --info' sẽ cung cấp cho bạn thông tin bổ sung về các tệp, cách 'đơn vị' sẽ
cố gắng tìm chúng và trạng thái của các biến môi trường liên quan.

Unicode HỖ TRỢ


Tệp dữ liệu đơn vị tiêu chuẩn ở dạng Unicode, sử dụng mã hóa UTF-8. Hầu hết các định nghĩa sử dụng
chỉ các ký tự ASCII (tức là mã trỏ từ U + 0000 đến U + 007F); định nghĩa bằng cách sử dụng
Các ký tự ASCII xuất hiện trong các khối bắt đầu bằng '! Utf8' và kết thúc bằng '! Endutf8'.

Khi 'đơn vị' bắt đầu, nó sẽ kiểm tra ngôn ngữ để xác định bộ ký tự. Nếu 'đơn vị' là
được biên dịch với sự hỗ trợ và định nghĩa của Unicode; nếu không thì các định nghĩa này bị bỏ qua.
Khi hỗ trợ Unicode đang hoạt động, 'đơn vị' sẽ kiểm tra mọi dòng của tất cả dữ liệu đơn vị
tệp cho chuỗi UTF-8 không hợp lệ hoặc không in được; nếu các chuỗi như vậy xảy ra, 'đơn vị'
bỏ qua toàn bộ dòng. Ngoài việc kiểm tra tính hợp lệ, 'đơn vị' xác định màn hình
chiều rộng của các ký tự không phải ASCII để đảm bảo vị trí thích hợp của con trỏ trong một số lỗi
và để căn chỉnh các cột cho 'tìm kiếm' và '?' các lệnh.

Hiện tại, 'đơn vị' không hỗ trợ Unicode trong Microsoft Windows. UTF-16 và
Mã hóa UTF-32 không được hỗ trợ trên bất kỳ hệ thống nào.

Nếu các định nghĩa chứa các ký tự không phải ASCII được thêm vào tệp dữ liệu đơn vị, những
các định nghĩa phải được đặt trong '! utf8' ... '! endutf8' để đảm bảo rằng chúng chỉ
được tải khi có hỗ trợ Unicode. Như thường lệ, dấu '!' phải xuất hiện như người đầu tiên
ký tự trên dòng. Như đã thảo luận trong Các đơn vị Ngày Các Tập Tin, tốt nhất nên đặt như vậy
định nghĩa trong các tệp dữ liệu bổ sung được liên kết bằng lệnh '! include' hoặc trong một
tệp dữ liệu đơn vị.

Khi hỗ trợ Unicode không hoạt động, 'đơn vị' không đưa ra giả định nào về mã hóa ký tự,
ngoại trừ các ký tự trong dải thập lục phân 00-7F tương ứng với mã hóa ASCII. Không
Các ký tự ASCII chỉ đơn giản là các chuỗi byte và không có ý nghĩa đặc biệt; vì
định nghĩa trong các tệp dữ liệu đơn vị bổ sung, bạn có thể sử dụng bất kỳ mã hóa nào phù hợp với
Giả định này. Ví dụ: nếu bạn muốn sử dụng các ký tự không phải ASCII trong các định nghĩa khi
đang chạy 'đơn vị' trong Windows, bạn có thể sử dụng một bộ ký tự chẳng hạn như Windows `` ANSI '' (mã
trang 1252 ở Mỹ và Tây Âu). Bạn thậm chí có thể sử dụng UTF-8, mặc dù một số thông báo có thể
được căn chỉnh không đúng và 'đơn vị' sẽ không phát hiện ra các chuỗi UTF-8 không hợp lệ. Nếu bạn dùng
Mã hóa UTF-8 khi hỗ trợ Unicode không hoạt động, bạn nên đặt bất kỳ định nghĩa nào với
ký tự không phải ASCII bên ngoài Các khối '! utf8' ... '! endutf8' — nếu không, chúng sẽ là
mặc kệ.

Tài liệu tập hợp chữ khác với các ví dụ mã thường sử dụng dấu trừ Unicode (U + 2212) thay vì
so với toán tử gạch nối-dấu ASCII (U + 002D) được sử dụng trong 'đơn vị'; dấu gạch ngang con số (U + 2012)
và en dash (U + 2013) cũng thỉnh thoảng được sử dụng. Để cho phép các tài liệu đó được sao chép và
được dán để sử dụng tương tác hoặc trong các tệp dữ liệu đơn vị, 'đơn vị' chuyển đổi các ký tự này thành
U + 002D trước khi xử lý tiếp. Do đó, không có ký tự nào trong số này có thể xuất hiện trong
tên đơn vị.

ĐỌC TIẾP HỖ TRỢ


Nếu gói 'dòng đọc' đã được biên dịch, thì khi 'đơn vị' được sử dụng tương tác,
nhiều tính năng chỉnh sửa dòng lệnh có sẵn. Để kiểm tra xem phiên bản 'đơn vị' của bạn
bao gồm 'readline', gọi chương trình với tùy chọn '--version'.

Để biết thông tin đầy đủ về 'dòng đọc', hãy tham khảo tài liệu về 'dòng đọc'
Bưu kiện. Nếu không có bất kỳ cấu hình nào, 'đơn vị' sẽ cho phép chỉnh sửa theo kiểu emacs. Của
sử dụng cụ thể với 'đơn vị' là các lệnh hoàn thành.

Nếu bạn nhập một vài ký tự và sau đó nhấn ESC theo dõi bởi '?'thì' đơn vị 'sẽ hiển thị
danh sách tất cả các đơn vị bắt đầu bằng các ký tự đã nhập. Ví dụ, nếu bạn nhập
'Mét'và sau đó yêu cầu hoàn thành, bạn sẽ thấy một cái gì đó như thế này:

Bạn có: metr
mét metriccup mét mã lực metrictenth
mét mét mét mét thứ năm ounce métton
métcarat số liệuhạt số liệuquart số liệusợiđếm
Bạn có: metr

Nếu có một cách duy nhất để hoàn thành tên đơn vị, bạn có thể nhấn TAB khóa và 'đơn vị' sẽ
cung cấp phần còn lại của tên đơn vị. Nếu 'đơn vị' phát ra tiếng bíp, điều đó có nghĩa là không có
hoàn thành. Nhấn TAB phím lần thứ hai sẽ in ra danh sách tất cả các lần hoàn thành.

Thư viện dòng đọc cũng lưu giữ lịch sử của các giá trị bạn nhập. Bạn có thể di chuyển qua
lịch sử này bằng cách sử dụng các mũi tên lên và xuống. Lịch sử được lưu vào tệp
'.units_history' trong thư mục chính của bạn để nó sẽ tồn tại trên nhiều 'đơn vị'
lời kêu gọi. Nếu bạn muốn giữ công việc riêng cho một dự án nào đó, bạn có thể thay đổi
tên tệp lịch sử bằng cách sử dụng tùy chọn '--history'. Ví dụ: bạn có thể tạo bí danh cho
'đơn vị' thành 'đơn vị --history .units_history' để 'đơn vị' sẽ lưu lịch sử riêng biệt trong
thư mục hiện tại. Độ dài của mỗi tệp lịch sử được giới hạn trong 5000 dòng. Ghi chú
Ngoài ra, nếu bạn chạy nhiều bản sao đồng thời của 'đơn vị', mỗi đơn vị sẽ lưu
lịch sử vào tệp lịch sử khi thoát.

CẬP NHẬT TIỀN TỆ TRAO ĐỔI, GIAO DỊCH GIÁ


Chương trình đơn vị bao gồm tỷ giá hối đoái tiền tệ và giá của một số kim loại quý trong
kho dữ liệu. Tất nhiên, những giá trị này thay đổi theo thời gian, đôi khi rất nhanh chóng, và
'đơn vị' không thể cung cấp giá trị thời gian thực. Để cập nhật tỷ giá hối đoái, hãy chạy
'units_cur', ghi lại các tệp chứa tỷ giá tiền tệ, thường là
'/usr/share/units/currency.units'. Chương trình này yêu cầu 'python' và 'unidecode'
và phải được chạy với các quyền thích hợp để ghi tệp. Để giữ tỷ giá
được cập nhật tự động, chạy nó bằng cron job trên hệ thống giống Unix hoặc tương tự
lập lịch chương trình trên một hệ thống khác. Tỷ giá hối đoái tiền tệ được lấy từ Thời gian
Thần đèn (http://www.timegenie.com) và định giá kim loại quý từ Packetizer
(www.packetizer.com). Các trang web này cập nhật một lần mỗi ngày, do đó, không có lợi ích gì khi chạy
tập lệnh cập nhật thường xuyên hơn hàng ngày. Bạn có thể chạy 'đơn vị_cur' với tên tệp
được chỉ định trên dòng lệnh và nó sẽ ghi dữ liệu vào tệp đó. Nếu bạn cho '-'
đối với tệp, nó sẽ ghi vào đầu ra tiêu chuẩn.

DATABASE COMMAND TỔNG HỢP


đơn vị định nghĩa
Xác định một đơn vị thông thường.

tiếp đầu ngữ- định nghĩa
Xác định tiền tố.

tên chức năng() không có lỗi đơn vị = [trong đơn vị,đơn vị ngoài] miền = [x1,x2] phạm vi = [y1,y2]
định nghĩa (var) ; nghịch đảo (funcname)
Xác định một đơn vị phi tuyến hoặc một hàm đơn vị. Bốn từ khóa tùy chọn 'noerror',
'units =', 'range =' và 'domain =' có thể xuất hiện theo bất kỳ thứ tự nào. Định nghĩa của
nghịch đảo là tùy chọn.

tên tab[đơn vị ngoài] không có lỗi danh sách cặp
Xác định một đơn vị tuyến tính từng mảnh. Danh sách cặp cho điểm trên bảng được liệt kê
theo thứ tự tăng dần. Từ khóa 'noerror' là tùy chọn.

! endlocale
Kết thúc một khối định nghĩa bắt đầu bằng '! Locale'

! endutf8
Kết thúc một khối định nghĩa bắt đầu bằng '! Utf8'

! endvar
Kết thúc một khối định nghĩa bắt đầu bằng '! Var' hoặc '! Varnot'

!bao gồm hồ sơ
Bao gồm tệp được chỉ định.

! ngôn ngữ giá trị
Chỉ tải các định nghĩa sau của ngôn ngữ được đặt thành giá trị.

!nhắn văn bản
Giao diện văn bản khi cơ sở dữ liệu được đọc trừ khi tùy chọn yên tĩnh ('-q') được bật.

!bộ biến giá trị
Đặt biến môi trường, biến, đến giá trị được chỉ định có thể if không phải vậy
đã được thiết lập.

! unitlist bí danh định nghĩa
Xác định bí danh danh sách đơn vị.

! utf8 Chỉ tải các định nghĩa sau nếu 'đơn vị' đang chạy với UTF-8 được bật.

! var envar danh sách giá trị
Tải khối định nghĩa chỉ theo sau nếu biến môi trường envar
được đặt thành một trong các giá trị được liệt kê trong danh sách giá trị được phân tách bằng dấu cách. Nếu như envar is
không được đặt, 'đơn vị' sẽ in thông báo lỗi và bỏ qua khối định nghĩa.

! varnot envar danh sách giá trị
Tải khối định nghĩa chỉ theo sau nếu biến môi trường envar
được đặt thành giá trị đó là không được liệt kê trong danh sách giá trị được phân tách bằng dấu cách. Nếu như envar is
không được đặt, 'đơn vị' sẽ in thông báo lỗi và bỏ qua khối định nghĩa.

GNU MIỄN PHÍ TÀI LIỆU GIẤY PHÉP


Sử dụng các đơn vị trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.