小编Rya*_*anL的帖子

为什么它抱怨整数常量对其类型来说太大

我正在编写一个汉明权重计算器,但为什么数字 3 对于 uint32_t 来说太大了?

编写一个函数,它接受一个无符号整数并返回它所具有的“1”位的数量(也称为汉明权重)。

笔记:

请注意,在某些语言(例如 Java)中,没有无符号整数类型。在这种情况下,输入将以有符号整数类型给出。它不应该影响您的实现,因为整数的内部二进制表示形式是相同的,无论是有符号的还是无符号的。

在 Java 中,编译器使用 2 的补码表示法来表示有符号整数。因此,在示例 3 中,输入表示有符号整数。-3。

// package LeetCode Problem.Problem 2;
// Write a function that takes an unsigned integer and returns the number of '1'
// bits it has (also known as the Hamming weight).

#include <iostream>
using namespace std;

int hammingWeight(uint32_t n);

class BitShifting {
 public:
  uint32_t n;
  int hammingWeight(uint32_t n);
  void setn(uint32_t n);
};

void BitShifting::setn(uint32_t n) {
  n = n;
}

int BitShifting::hammingWeight(uint32_t n) {
  int …
Run Code Online (Sandbox Code Playgroud)

c++ bit-manipulation

-1
推荐指数
1
解决办法
207
查看次数

标签 统计

bit-manipulation ×1

c++ ×1