搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 关于C#中位运算的一个问题
标题:
关于C#中位运算的一个问题
只看楼主
不打DOTA
等 级:
新手上路
帖 子:3
专家分:0
注 册:2011-9-10
楼主
问题点数:0 回复次数:4
关于C#中位运算的一个问题
ushort a=10;
console.writeline(~a);
为什么结果是-11;
求高手解释 本人新手刚入门
2011-09-10 11:42
LennyMogwai
等 级:
论坛游民
帖 子:20
专家分:15
注 册:2011-7-24
第
2
楼
得分:0
ushort a=10,
ushort是16位,所以存储为 0000 0000 0000 1010
~a,
按位取反,现在存储为1111 1111 1111 0101
这个就是-11的补码嘛,所以输出是-11啦……
补码你知道吧?绝对值的按位取反再加1……
2011-09-10 12:47
abanden22
等 级:
新手上路
帖 子:2
专家分:1
注 册:2011-6-21
第
3
楼
得分:0
学习
2011-09-10 18:17
LennyMogwai
等 级:
论坛游民
帖 子:20
专家分:15
注 册:2011-7-24
第
4
楼
得分:0
补充一下,负数的补码才是绝对值按位取反再加一,正数的补码就是原码……
2011-09-10 19:23
不打DOTA
等 级:
新手上路
帖 子:3
专家分:0
注 册:2011-9-10
第
5
楼
得分:0
回复 楼主 不打DOTA
懂了 谢谢
2011-09-10 21:44
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-349641-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.047733 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved