#1945. C 语言位段的算法

C 语言位段的算法

当前没有测试数据。

问题描述

给定一个无符号整数数组 nums,数组中的每个元素表示一个 32 位无符号整数。使用位段结构体来统计数组中所有整数的二进制表示中,从低位到高位每一位上 1 的出现次数。例如,对于数组 {5, 3}(二进制表示分别为 0000010100000011),统计结果应为 [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 次,以此类推。

要求​:

  1. 定义一个位段结构体,其中包含 32 个位段成员,每个成员用于统计对应二进制位上 1 的出现次数。
  2. 编写一个函数,接受无符号整数数组 nums 和数组长度 n 作为参数,使用位段结构体完成统计,并返回统计结果数组。