Thao tác bitMảng
Mô tả
Trong hệ thống giám sát động cơ xe buýt, bộ điều khiển mạng diện rộng (CAN bus) thỉnh thoảng ghi nhận các khung tin báo lỗi. Mỗi lỗi được biểu diễn bằng một số nguyên không âm, trong đó hệ thống mã hóa các bit dấu hỏi (bit 1) để đánh dấu vị trí bất thường trong luồng dữ liệu. Kỹ sư bảo trì cần biết tổng số bit dấu hỏi xuất hiện trong toàn bộ các khung tin lỗi được ghi nhận trong ngày để đánh giá mức độ nghiêm trọng.
Nhiệm vụ của bạn là: cho một mảng gồm các số nguyên không âm, hãy đếm tổng số lượng bit 1 trong biểu diễn nhị phân của tất cả các số trong mảng đó.
Đầu vào
- Một mảng gồm
nsố nguyên không âma[0], a[1], ..., a[n-1].
Đầu ra
- Trả về một số nguyên duy nhất là tổng số bit
1trong biểu diễn nhị phân của tất cả các phần tử trong mảng.
Ràng buộc
1 <= n <= 10^50 <= a[i] <= 10^6- Tổng số bit
1của toàn mảng được đảm bảo nhỏ hơn2^31 - 1.
Ví dụ
Ví dụ 1:
- Đầu vào:
[5, 7, 0] - Đầu ra:
5 - Giải thích: Số
5ở hệ nhị phân là101(2 bit1), số7là111(3 bit1), và số0là0(0 bit1). Tổng cộng ta có2 + 3 + 0 = 5bit dấu hỏi.
Ví dụ 2:
- Đầu vào:
[1, 2, 4, 8] - Đầu ra:
4 - Giải thích: Các số
1(1), (), (), () mỗi số đều có đúng 1 bit . Tổng là .