01/10/2018, 09:52
Làm thế nào để lưu nhiều option vào 1 số
Chào mọi người, mình muốn lưu option của người chọn với trường hợp checkbox, 1 câu có thể lên tới 8 option a,b,c,d,e,… tương ứng 1,2,3,4,5,6,7,8 Làm sao để lưu các số đó xuống thành 1 số và sau đó từ kết quả mình biết được những option đã lưu ạ. Theo yêu cầu mình ko dc lưu thành dạng chuỗi.
Bài liên quan
Bạn có thể lưu thành số nguyên 8-bit, 1 là có option và 0 là không có option (do checkbox chỉ có 2 trạng thái: chọn và không chọn).
Lúc cần lấy ra kết quả của bit nào thì dùng phép
xorand, còn bật 1 option nào đó thì dùng xor.Ví dụ:
Trong ví dụ này, bit phải nhất (bé nhất) thể hiện option a, bit bên trái của bit a là bit b,…
Bạn ơi, cho mình hỏi
Nếu nó là String thì cứ dùng phương thức .charAt(index) mà truy cập vào ký tự của nó, nhưng muốn sửa đổi thuận tiện thì nên dùng StringBuilder.
Còn muốn nó có ký tự ngược lại thì dùng reversed.
flag
(số lưu tất cả các trạng thái option) này có kiểu int, thao tác bật/tắt/kiểm tra bit này không cần phải chuyển sang hệ nhị phân mới làm được. Phépand, or, xor
sẽ làm việc đó.Dạ xin lỗi nếu làm bạn bực, nhưng mình nghĩ không ra vì sao xor lại ra được kết quả ( có biết xor). Mình cũng phải cắt chuỗi lấy ra từng thành phần mới biết được option nào được chọn trong 8 bit đó. Mong bạn chỉ ạ.
XOR là để toggle thôi còn muốn lấy ra thì phải dùng AND với mặt nạ 0…010…0.
phép toán trên bit thì cần gì cắt chuỗi
ví dụ với đáp án user chọn như sau
để kiểm tra 1 câu bất kì đã được chọn hay không thì viết 1 method helper cho nhanh.
VD như:
bạn thấy đó, đây là phép tính trực tiếp trên bit chứ không phải cắt chuỗi.
Sorry, lâu không học mình quên béng mất =))