Trong một số mã tôi đang làm việc trên tôi nên chăm sóc mười tham số độc lập có thể lấy một trong hai giá trị (0 hoặc 1). Điều này tạo ra 2^10 điều kiện riêng biệt. Một số các điều kiện không bao giờ xảy ra và có thể được bỏ ra, nhưng những điều xảy ra vẫn còn rất nhiều và làm cho một switch
để xử lý tất cả các trường hợp là điên.Tính toán và phát hiện bit cờ
Tôi muốn sử dụng 10 if
báo cáo thay vì số lớn switch
. Đối với điều này tôi biết tôi nên sử dụng cờ bit, hoặc thay cờ byte như ngôn ngữ là javascript và nó dễ dàng hơn để làm việc với một chuỗi 10 byte với đại diện cho một nhị phân 10-bit.
Bây giờ, vấn đề của tôi là, tôi không biết cách thực hiện điều này. Tôi đã thấy điều này được sử dụng trong API
s nơi các tùy chọn có thể chọn nhiều được hiển thị với các số 1, 2, 4, 8, ..., n^(n-1) tương đương với số thập phân là 1, 10, 100, 1000, v.v. trong nhị phân. Vì vậy, nếu chúng ta thực hiện cuộc gọi như bar = foo(7)
, thanh sẽ là một đối tượng với bất kỳ tùy chọn nào cho phép ba cờ ngoài cùng bên phải.
Tôi có thể chuyển đổi số thập phân thành nhị phân và trong mỗi kiểm tra câu hỏi if
để xem liệu chữ số tương ứng có được đặt hay không. Nhưng tôi tự hỏi, là có một cách để xác định số n-th
của một số thập phân là số không hoặc một ở dạng nhị phân, mà không cần thực sự thực hiện chuyển đổi?
WOW! Rất nhanh! Tôi muốn chấp nhận câu trả lời của bạn ngay lập tức, nhưng rõ ràng tôi nên đợi ít nhất 9 phút. Cảm ơn thực sự. –
+1 đang nhập nội dung nào đó tương tự nhưng bạn đã nhanh hơn;) –