-
Thành viên cấp 4
Mình có viết cho bạn hàm tách 1 số real ra 2 số dint, mình chỉ lấy 1 số lẻ.(vd: 8.51 mình sẽ lấy ra 8 và 5)
SET
R #OVERLIMIT
L #IN_DATA //load data vào, dữ liệu sau khi ra fc105
PUSH
TRUNC
JO FLT
T #TEMP_DATA
T #OUT_DATA //out phần nguyên
DTR
-R
T #TEMP_DATA_TRUNC
L 1.000000e+001
*R
TRUNC
T #OUT_DATA1 //out phần thập phân
SAVE
BEU
FLT: S #OVERLIMIT
CLR
SAVE
Để mình nói thuật toán cho bạn dễ hiểu: Mình lấy data vào (real), dùng truncate để lấy phần nguyên. Sau đó lấy số real dầu vào trừ giá trị truncate để lấy phần thập phân. Next, lấy hiệu số nhân 10 và truncate lần nữ sẽ lấy dc phần lẻ sau dấu thập phân. Với cách viết này sẽ có 1 số trường hợp bị sai lêch giá trị 0.1,
nhưng k ảnh hưởng lắm, bạn suy nghĩ và cải thiện chương trình nha
Lần sửa cuối bởi Mechatronic_Hieu, ngày 01-03-2013 lúc 09:25 AM.
-
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 11:01 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu