C语言32位有符号数和无符号数之间怎么强制转换

例如有个32位有符号数-1946090562转为无符号的2348876734不要用printf函数... 例如有个32位有符号数 -1946090562
转为无符号的 2348876734

不要用printf函数
展开
 我来答
金色潜鸟
推荐于2017-11-25 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5695万
展开全部
负数转无符号数 有什么意义?
用 (unsigned int) 可以强制转换。转换后的数要用 %u 格式输出才能见。

#include <stdio.h>
main(){
int x=-1946090562;
unsigned int y;
y = (unsigned int) x;
printf("x=%d y=%u",x,y);
}

输出:
x=-1946090562 y=2348876734
gstycl
2013-07-17 · TA获得超过1961个赞
知道小有建树答主
回答量:1396
采纳率:0%
帮助的人:915万
展开全部
void main()
{
unsigned int i;
signed int j;
j = -1946090562;
i = (unsigned int)j;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HeXian000
2013-07-17 · TA获得超过339个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:368万
展开全部
union convert{int a;unsigned b;}v;
v.a=-1946090562;
printf("%u\n",v.b);
搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4428cfa
2013-07-17 · 超过21用户采纳过TA的回答
知道答主
回答量:234
采纳率:0%
帮助的人:160万
展开全部
(unsigned int)var
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式