当前位置:首页 » 编程语言 » C语言零开头

C语言零开头

发布时间: 2025-06-16 18:12:47

⑴ C语言无符号数为什么取值范围0开头

首先这里是无符号和有符号之间的区别,
在这里我们将他们实现为二进制后,
楼主你会更好的理解他们之间的区别,
而且这部分的题目是面试题常考的
int
a
=
-400;
在这里a被定义成了一个有符号的整数,
且值为-400;
在计算机中的二进制为
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1110
0111
0000
有符号的解释出来的值为-400,
但是无符号解释出来的值却不同
而printf(“a=%u\n”,a);
很明显这里是要将a按无符号的形式输出(%u)
所以要将a按无符号的形式解释
即将
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1110
0111
0000
解释成无符号的形式
就a值就变成了4294966896
书上解释说使用%u格式控制字符串输出正整数时该数不发生变化,输出负整数时该负整数将被转换为无符号整数输出。
现在这句话的意思已经很明显,
就在计算机中一个数字最终是以二进制存在,
不会改变
但是,
我们可以用有符号或者是无符号的形式去解释他
PS:若有不明白的地方,
可以追问
楼主,
具体方面的原理可以看<<深入理解计算机系统>>中第2章方面的知识,
不需要前缀知识,
直接看就行了。

热点内容
c语言for循环break 发布:2025-06-17 00:34:18 浏览:950
轻量级ftp服务器 发布:2025-06-17 00:28:23 浏览:80
压缩引伸计 发布:2025-06-17 00:26:23 浏览:684
c语言函数存储类型 发布:2025-06-17 00:25:21 浏览:951
海康存储服务器添加监控 发布:2025-06-17 00:25:13 浏览:509
phpfilename 发布:2025-06-17 00:18:52 浏览:768
手机怎样创文件夹 发布:2025-06-17 00:12:27 浏览:402
linux启动执行 发布:2025-06-17 00:11:43 浏览:848
java变量的初始化 发布:2025-06-17 00:05:25 浏览:207
c语言主函数调用 发布:2025-06-17 00:04:26 浏览:834