#1945. C 语言位段的算法
C 语言位段的算法
当前没有测试数据。
问题描述
给定一个无符号整数数组 nums
,数组中的每个元素表示一个 32 位无符号整数。使用位段结构体来统计数组中所有整数的二进制表示中,从低位到高位每一位上 1 的出现次数。例如,对于数组 {5, 3}
(二进制表示分别为 00000101
和 00000011
),统计结果应为 [2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
,即最低位上 1 出现了 2 次,次低位上 1 出现了 2 次,第三位上 1 出现了 0 次,以此类推。
要求:
- 定义一个位段结构体,其中包含 32 个位段成员,每个成员用于统计对应二进制位上 1 的出现次数。
- 编写一个函数,接受无符号整数数组
nums
和数组长度n
作为参数,使用位段结构体完成统计,并返回统计结果数组。