PHP翻转32位整数

标签 php bit-manipulation bitwise-operators bit

获取 32 位无符号整数。翻转所有位(0->1 和 1->0)并以无符号整数形式返回结果。

以 1 为例,无符号 32 位为 00000000000000000000000000000001,翻转后我们得到 11111111111111111111111111111110,即 4294967294。

我可以将十进制数转换为二进制数,但它不包含要翻转的 32 位。 请帮我解决这个问题。

最佳答案

我做到了,谢谢大家。我就是这样做的。

$function flippingBits($n) { 
    $binary = sprintf('%032b', $n);
    $fliped = strtr($binary, [1,0]);
    return bindec($fliped);
}

关于PHP翻转32位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70051642/

相关文章:

php - 使用 google Analytics reporting api v4 时出错

php - Codeigniter + Mysql Active Record 查询 ASC DESC 顺序

php - 在 Symfony2 中创建一个表单作为服务

c++ - 以明显的方式反转位

hash - MD5哈希算法使用哪种类型的左旋转?

php - 尝试使用 PHP 插入 MySQL 表时出现错误

php - 状态位标志。查找一个标志 = 0 的状态

php - 当您对二进制系统有很多权限时该怎么办?

c - 收集位的最快方法(类似于 std::copy_if)

c# - 为什么在 C# 中进行按位运算时必须强制转换为 0(零)?