加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何将负数转换成正数由| =运算符在C#中?

发布时间:2020-12-15 17:43:16 所属栏目:百科 来源:网络整理
导读:我们都知道Int32的最高位定义了它的符号. 1表示它是负数,0表示它是正的(可能反转).可以通过更改其最高位将负数转换为正数吗? 我尝试使用以下代码: i |= Int32.MaxValue; 但它不行. 解决方法 如果你只是寻找一个有点这样做的方式(例如面试问题等),你需要否
我们都知道Int32的最高位定义了它的符号. 1表示它是负数,0表示它是正的(可能反转).可以通过更改其最高位将负数转换为正数吗?

我尝试使用以下代码:

i |= Int32.MaxValue;

但它不行.

解决方法

如果你只是寻找一个有点这样做的方式(例如面试问题等),你需要否定数字(按位)并添加1:
int x = -13;
int positiveX = ~x + 1;

如果正面或负面,则会翻转标志.作为一个小小的注意事项,如果x是int.MinValue,那么这不会起作用,因为负的范围比正的范围多一个.

当然,在现实世界的代码我只是使用Math.Abs??()已经提到…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读