#include<stdio.h>
int main()
{
char a=128;
printf("%d\n",a);
printf("%ud",a);
}
定义字符变量a=128;为什么输出-128
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- pace_03 2021-10-28 21:36关注
char取值范围:-128~127
%u就行了,d去掉
想了解具体的话可以参考:C语言中 char 类型的取值范围为什么是-128~127_当代码遇上音乐-CSDN博客 我们之前已经说过关于原码、反码和补码的一些东西,如果你没有看过,可以点这里《 你知道原码、反码和补码吗,进来了解一下吧 》看一下 。好了,可能你不会太想看,所以我们一起再来简单的复习一下,如果我们现在有一个十进制的整数 1 ,我们知道 1 个字节等于 8 位,一个整型数据占 4 个字节,也就是说一个整型数据占 4 个 8 位,也就是 32 位,所以整数 1 用二进制表示,如 https://blog.csdn.net/CodeByCoder/article/details/77725155本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
- ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
- ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
- ¥15 SPSS分类模型实训题步骤
- ¥15 求解决扩散模型代码问题
- ¥15 工创大赛太阳能电动车项目零基础要学什么
- ¥20 limma多组间分析最终p值只有一个
- ¥15 nopCommerce开发问题
- ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
- ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决