unsigned long可以取值负值吗
答案:4 悬赏:10 手机版
解决时间 2021-04-07 07:23
- 提问者网友:呐年旧曙光
- 2021-04-07 03:57
unsigned long n=-1是什么意思 不是说无符号吗?
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-04-07 05:05
可以赋给负值。i=-1; 存放为 0xffffffff。按无符号数输出为 4294967295。按有符号数输出为-1.
#include<stdio.h>
main(){
unsigned long i=-1;
printf("%u %#x",i,i);
return 0;
}
输出:
4294967295 0xffffffff
#include<stdio.h>
main(){
unsigned long i=-1;
printf("%u %#x",i,i);
return 0;
}
输出:
4294967295 0xffffffff
全部回答
- 1楼网友:拜訪者
- 2021-04-07 08:14
可以是可以。不过会自动转换为别的值
- 2楼网友:傲气稳了全场
- 2021-04-07 06:44
在编辑器里面打印出来就知道了。是2^32-1,也就是4294967295
- 3楼网友:空山清雨
- 2021-04-07 05:45
可以=赋值运算符, 但是要加上强制转换在c中如int 要转为long 那么这样转:
int num1 = 5;
long num2 = (int)num1;
在c++你也可以用c的方式转换也可以用c++的方式:
int num1 = 5;
long num2 = static_cast<int>(num1);
精度的转换 ,会不可避免的造成精度的丢失。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯