unsigned int的 注意事项
来源:互联网 发布:php输出超链接 编辑:程序博客网 时间:2024/05/22 10:37
c语言无符号整数怎么定义
整型变量的分类:基本整型:int 短整型:short int 长整型:long int对以上三类加上修饰符unsigned以指定是“无符号数”。如果加上修饰符singed,则指定的是“有符号数”,如果既不指定为signed也不指定是unsigned,则隐含为有符号(signed)。
无符号整数的陷阱
请问以下代码的输出?
unsigned int a=1,int b=-2;
int c=-2;
cout<<b<<endl;
if(a+c>0)
cout<<a+b<<endl;
运行结果:
4294967294
4294967295
Press any key to continue
首先,程序的第一行,变量b和a一样,都是无符号整型,这是一个陷阱。
其次,在32位系统中,int的范围是-2147483648~+2147483647,而unsignedint的范围是0~4294967295。负数在无符号整型中用补码表示,所以b是4294967294。
第三,int默认为signed int,它与unsigned int运算时,结果被转换为unsignedint,所以a是4294967295。
——————————————-—————————————————————————————————
情况是这样的:
军航问我了关于这段代码的问题。
其结果输出为0.于是就有了以上的讨论。
#include<stadio.h&rt
int main()
{
unsigned int x=7;
printf("%d\n",-2
return 0;
}
___________________________________________________
今天决定看知乎决定自己开发一个博客,专门放自己的技术博客。用新浪是在太捉急。
还得学习AJAX。
至于新浪上的文章,决定使用网络爬虫将这些文章抓下来。
这有得深入学习MFC、
好了,加油吧, 程序员
0 0
- unsigned int的 注意事项
- unsigned int的最大值及int的最大…
- unsigned int 应用于 for 循环的注意事项
- HIVE 中 multi_distinct的注意事项
- #define A (* (volatile unsigned …
- *(volatile unsigned long *) 语法
- int String互转
- int spi_write_then_read (struct …
- int* 与 int&
- em的错误 <转载>
- String转为Int 的异常错误
- c++ MFC int 转换成 CString
- 位域(unsigned char a:4的解释)
- 数据库 代码的写法注意事项
- *(int *)a
- static int
- int getchar()
- mysql int(3)与int(11)的区…
- Windows下修改Git bash的HOME路径
- 知乎——什么是一个人最美好的品质?…
- ACMer值得看的博客
- 'ping' is no…
- linux下C
- unsigned int的 注意事项
- vc6.0++插件
- 哈夫曼树
- debug中P命令与T命令有何区别
- MFC拥有WIN7/XP样式的风格
- 物极必反,正极为负,负极为正
- 汇编语言bp寄存器和es寄存器有何用…
- 求反与求补
- INT 21H指令说明及使用方法