gpt4 book ai didi

c++ - 当对任何数字应用移位操作时。如何取回原始数字

转载 作者:行者123 更新时间:2023-11-30 04:18:10 25 4
gpt4 key购买 nike

 #include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n=99;
int shift=n>>2;
cout<<shift;
shift=shift<<2;
cout<<shift;
}

以上结果给出“unsignedShift=24”。问题是,如果给出 24,我怎样才能取回原始值,即 n 是 99。当我使用左移时,它显示的 ans 是 96。如何处理负数

最佳答案

没有办法不存储原始数字(或其部分(实际上是最后一位)),因为移位不是 injective即有一些不同的数字在移位后变得相同。

3>>1 // = 1;
2>>1 // = 1;

如果你有 1. 你会得到什么? 2 或 3

关于c++ - 当对任何数字应用移位操作时。如何取回原始数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com