无符号 unsigned short型的 10 ,求反后,为何会得到负数呢?
时间:2010-09-03
来源:互联网
无符号 unsigned short型的 10 ,求反后,为何会得到负数呢?
以下代码,输出结果为下列内容,我不明白,unsigned short 型的10,本身就是无符号数呀,对它取反后,为何值是-11呢?
short:-11
ushort:-11
int-11
uint4294967285
代码如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
int i;
cout << "-----------------" << endl;
//int a=10;
short a=10;
unsigned short b=10;
int c=10;
unsigned int d=10;
cout << "short:" << ~a << endl;
cout << "ushort:" << ~b << endl;
cout << "int" << ~c << endl;
cout << "uint" << ~d << endl;
//int c=10;
cin >> i;
return 0;
}
以下代码,输出结果为下列内容,我不明白,unsigned short 型的10,本身就是无符号数呀,对它取反后,为何值是-11呢?
short:-11
ushort:-11
int-11
uint4294967285
代码如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
int i;
cout << "-----------------" << endl;
//int a=10;
short a=10;
unsigned short b=10;
int c=10;
unsigned int d=10;
cout << "short:" << ~a << endl;
cout << "ushort:" << ~b << endl;
cout << "int" << ~c << endl;
cout << "uint" << ~d << endl;
//int c=10;
cin >> i;
return 0;
}
作者: go_hao 发布时间: 2010-09-03
运算的时候被扩展成int了
作者: davelv 发布时间: 2010-09-03
谢谢,但是我还是不明白,求反,并没有与别的数运算呀。
如果是整数与双精度数运算,则整数会扩展为双精度数,
但是求反,就是对自已本身处理呀。为何也会扩展到更大的一个级别呢?
如果是整数与双精度数运算,则整数会扩展为双精度数,
但是求反,就是对自已本身处理呀。为何也会扩展到更大的一个级别呢?
作者: go_hao 发布时间: 2010-09-03
QUOTE:
谢谢,但是我还是不明白,求反,并没有与别的数运算呀。
如果是整数与双精度数运算,则整数会扩展为双精度 ...
go_hao 发表于 2010-09-03 10:13
如果是整数与双精度数运算,则整数会扩展为双精度 ...
go_hao 发表于 2010-09-03 10:13
ISO C中规定(C++不太清楚,也应该有这个规定) 在 conversions一节说了
If an int can represent all values of the original type, the value is converted to an int;
otherwise, it is converted to an unsigned int. These are called the integer
promotions.4

这就是说如果int可以代表表达式中出现的全部类型(包括char,short,int),那么值就转化为int,否则就转化为unsigned int ,这叫整数提升。其他类型不受此规则限制
作者: davelv 发布时间: 2010-09-03
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28