社区
C语言
帖子详情
奇怪了,signed无法转换成unsigned?
cg5353
2006-02-23 06:48:55
#include <stdio.h>
int main()
{
int x = -1;
printf("%d\n", (unsigned) x);
system( "pause" );
return 0;
}
这个为什么会输出-1?
winXP+Dev-c++,建立的是.c文件
...全文
73
2
打赏
收藏
奇怪了,signed无法转换成unsigned?
#include int main() { int x = -1; printf("%d\n", (unsigned) x); system( "pause" ); return 0; } 这个为什么会输出-1? winXP+Dev-c++,建立的是.c文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2006-02-23
打赏
举报
回复
pritnf是按照%后面的类型来解释你传递进来的数据的
给传递进来的数据做类型转换,只是把数据生成了一个中间变量,然后把中间变量的地址告诉了函数,函数按照%当中定义的类型来输出它
因此虽然你把x转换成了unsigned的一个中间变量,但是中间变量确是按照signed方式输出的,所以结果是一样的————依然是有符号的
寻开心
2006-02-23
打赏
举报
回复
printf("%u\n", x); 即可
打印的时候,输出的类型是在^%后面指定的
C语言
un
signed
与
signed
使用辨析
在C语言中使用
signed
和
un
signed
修饰符时,如果光从普遍定义去使用会存在一些
奇怪
的问题,结合这些问题,笔者做了深入分析和阐释。
signed
和
un
signed
之间以及移位操作相关左移和右移
转载,很好的文章 http://blog.sina.com.cn/s/blog_4c7fa77b01000a3m.html
signed
和
un
signed
之间 昨天,zrf师兄丢给我这样一个题,据说是微软面试题:
un
signed
int i=3; cout 问结果是多少。 第一反应:-3。不过结果似乎不是这样的,写了个程序,运行了一下,发现是:4294
C语言:
un
signed
int和
signed
int的陷阱
最近在公司项目中遇到一个问题,觉得挺有意思的,但涉及的知识点又十分基础,记录一下。 首先问题是出现了一个kernel panic,(可以看出是个64位的系统) Unable to handle kernel paging request at virtual address ffffffd854850118 代码在运行期间非法访问了一个
奇怪
的地址,一般而言内核Panic出现非法访问时,大概率会是一个NULL地址或者NULL地址加上一个偏移量,出现这种特别大的,一般怀疑是“踩内存”了。 那么根据Ca
signed
和
un
signed
的比较
signed
和
un
signed
的比较 2009-10-25 10:43 901人阅读 评论(0) 收藏 举报 昨天,zrf师兄丢给我这样一个题,据说是微软面试题:
un
signed
int i=3; cout 问结果是多少。 第一反应:-3。不过结果似乎不是这样的,写了个程序,运行了一下,发现是:4294967293。很诡异的一个数字,怎么也想不明白为什么会是
C++
signed
和
un
signed
的比较
[size=large][b][align=center]C++
signed
和
un
signed
的比较[/align][/b][/size] 微软面试题:
un
signed
int i=3; cout
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章