printf-程序求解:为什么i*-1中,不是先把-1转化为无符号数4294967295,然后再与i相乘?

问题描述

程序求解:为什么i*-1中,不是先把-1转化为无符号数4294967295,然后再与i相乘?

程序如下:
#include < stdio.h >
int main()
{
unsigned int i=3;
printf("%u
",i*-1);
return 0;
}
程序的输出为4294967293,也就是-3对应的无符号值。
为什么i*-1中,不是先把-1转化为无符号数4294967295,然后再与i相乘?

解决方案

首先 i*-1,这么写是人难以理解的,
其次:
其实这结果 就是 4294967295*3的结果,不过截取低32Bits而已。
4294967295*3=12884901885 = 0x2FFFFFFFD
截取32Bits后=0xFFFFFFFD = 4294967293

解决方案二:

API LoadModule I was lood1
SPOJ GSS1 Can you answer these queries I
How I explained Design Patterns to my wife: Part 1

解决方案三:

这个明显是机内码的问题。-1就是‘1111111111111111111111111111111’,乘上三后‘11111111111111111111111111111101’(能保存长度限制),结果还是和-3一样

解决方案四:

哥们你的头文件是不是少了点东西

解决方案五:

隐式转换是把比较低级的转换成比较高级的。比如整型数乘浮点数,整型数默认转换成浮点数。

解决方案六:

头文件是不是少了东西 呢

时间: 2024-08-19 23:47:51

printf-程序求解:为什么i*-1中,不是先把-1转化为无符号数4294967295,然后再与i相乘?的相关文章

求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出?

问题描述 求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出? windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出? 主要是如何测得字符串的长度,然后可以用for循环吗,如果不能用什么循环. 解决方案 string bb = ""; foreach (char aa in "求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出?") { bb += aa.ToString();

串口通讯-vc串口通信的程序求解

问题描述 vc串口通信的程序求解 vc初学者要写一个串口通信的程序,串口如何通信的不是很了解啊! 解决方案 VC串口通信 解决方案二: VC中采用MSCOMM控件,首先对串口进行初始化,然后在OnOnCommMscomm函数中处理接收的数据. 解决方案三: http://blog.csdn.net/jax_lee/article/details/6764408图文并茂http://blog.csdn.net/a_runing_man/article/details/9947343代码http:/

格式-一个c语言小程序求解?

问题描述 一个c语言小程序求解? #include int main() { double a=0,b=0; scanf("%f%d",&a,&b); printf("%fn%dn",a,b); system("pause"); return 0; } 输出结果如图所示,为什么输入格式以浮点数形式输入不可以正确输出,而整形的可以 解决方案 C语言格式输入函数scanf()详解 解决方案二: 这是其中对 float 和 double

求大神求解-matlab图像局部增强程序求解

问题描述 matlab图像局部增强程序求解 求对某个文件夹中的10张图片进行局部增强,要求只增强某一小区域而保持其他部分不变的matlab程序?新手刚学matlab,求大神指教 解决方案 Matlab 求解数独的程序matlab图像缩放程序

php-vs2013做的c++程序,要放到windows2008中运行

问题描述 vs2013做的c++程序,要放到windows2008中运行 现在在win7下debug没啥问题,但有点担心做好后放08中会出现各种问题,有木有遇到过类似问题的朋友 解决方案 一般没有问题,如果出问题只能是dll版本问题,用VS自带的depends工具查看依赖的dll,并在windows2008中查找同名的dll,用新版本替换旧版本就可以了. 这个事情我干过. 解决方案二: 是2008还是2008R2 VS2013和2008 R2兼容性没有问题. 解决方案三: 用vc2005重新编译

日志采集-在应用程序监控系统的设计中,有没有针对应用程序埋点获取目标数据的研究?

问题描述 在应用程序监控系统的设计中,有没有针对应用程序埋点获取目标数据的研究? 怎么埋点的?埋点这个名词在业内好像并没有统一吧?有些监控信息直接从应用程序日志里面获取就行,但是客户端(PC或移动端)是不是通过埋点上传数据给服务器?这里面有没有关于埋点的方法论?或者成体系的文献之类的东西? 解决方案 有的,你可以看看万方上的论文.主要是数据分析这块.

0-android为什么调用拨号程序时向contact表中存入的数据不全

问题描述 android为什么调用拨号程序时向contact表中存入的数据不全 在模拟器通讯录中新建了联系人,设置了头像,但是这个号码,给模拟器拨打电话时,photoId和 number存到contact表中的值为0和null

程序员如何快速准备面试中的算法

我决定写篇短文,即为此文.之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法.尽管在微博上简单梳理过,如下图所示:        但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料. 备战面试中算法的五个步骤 总体来说,备战面试中的算法,分为五个步骤,如下: 1.首选你得确保自己已经掌握好一门编程语言 如果是C的话,推荐Dennis M. Ritchie & Brian W. Kernighan著的<C程序设计语言>,和

ftp-java web做的网站上线,已经把域名解析到服务器IP上,把程序上传到FTP中,但是网站打不开

问题描述 java web做的网站上线,已经把域名解析到服务器IP上,把程序上传到FTP中,但是网站打不开 前几天也问过这个问题,但是问题依旧,下面是tomcat日志报的错,大神看看这是什么问题 2015-6-19 9:43:18 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter structs2 java.lang.UnsupportedClassVersionError: co