c语言负数输出问题

今天早睡今天早起 2017-09-04 09:12:04
在keil中-7输出的不是-7,而是65527,求怎么让他输出的是-7.
...全文
1459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
l_hkb 2020-07-23
  • 打赏
  • 举报
回复
整数,浮点数在计算机中以补码形式存储,printf()函数是以原码输出吗? 列: #include <stdio.h> void main() { short x; x=54278; printf("%d\n",x); } 输出为-11258
自信男孩 2017-09-04
  • 打赏
  • 举报
回复
引用 6 楼 qq_30573461 的回复:
[quote=引用 1 楼 kaijkl 的回复:] 参照http://blog.sina.com.cn/s/blog_8b745a5f01016uma.html
没有用,看了一眼若要输出负数得用%hhd
引用 4 楼 cfjtaishan 的回复:
输出的值是负值还是正值跟你的输出格式有关,想输出-7,但是输出的是一个大的正值,需要看一下你是以什么格式输出的
问题解决了,但是出现一个新的问题,负数的浮点该怎么计算,例-7*1.000/1000,是-0.007还是别的数。[/quote] 浮点数跟精度有关系,理论值和实际计算机计算出来的值可能有差距,尤其是小数点第7位
  • 打赏
  • 举报
回复
引用 1 楼 kaijkl 的回复:
参照http://blog.sina.com.cn/s/blog_8b745a5f01016uma.html
没有用,看了一眼若要输出负数得用%hhd
引用 4 楼 cfjtaishan 的回复:
输出的值是负值还是正值跟你的输出格式有关,想输出-7,但是输出的是一个大的正值,需要看一下你是以什么格式输出的
问题解决了,但是出现一个新的问题,负数的浮点该怎么计算,例-7*1.000/1000,是-0.007还是别的数。
wang0635 2017-09-04
  • 打赏
  • 举报
回复
贴代码…………
自信男孩 2017-09-04
  • 打赏
  • 举报
回复
输出的值是负值还是正值跟你的输出格式有关,想输出-7,但是输出的是一个大的正值,需要看一下你是以什么格式输出的
  • 打赏
  • 举报
回复
引用 1 楼 kaijkl 的回复:
参照http://blog.sina.com.cn/s/blog_8b745a5f01016uma.html
没有用,看了一眼若要输出负数得用%hhd
Really_want 2017-09-04
  • 打赏
  • 举报
回复
keil没用过。在C语言中,输出不同格式的数字可以用printf函数实现。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧