当前位置: 首页 > news >正文

记录一个C语言打印的误区:无符号的数通过%d打印出现符号位的现象

打印无符号数

使用 printf 打印无符号数时,应使用 %u 格式说明符。
如果错误地使用 %d(用于有符号整数),可能会导致误解,因为 %d 会将无符号数解释为有符号数。

在这里插入图片描述

符号位的误解(错误出现)

• 如果你使用有符号格式(如 %d)打印无符号数,且数值超过了有符号数的正范围,可能会被解释为负数。
• 例如,0xFFFF 对于 16 位有符号数是 -1,但对于无符号数仍然是 65535。

总结

• 无符号十六进制数转换为十进制数时,不会出现符号位问题。
• 确保使用正确的格式说明符(如 %u)来打印无符号数,以避免误解。

错误示范

错误代码如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
打印信息如下:
在这里插入图片描述
错误原因:使用有符号的%d打印无符号数
正确代码如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
打印信息如下:
在这里插入图片描述

相关文章:

  • 掌握 ElasticSearch 聚合查询:Aggregations 入门与实战
  • 毛泽东思想的历史地位
  • 计算机组成原理知识点精汇(一)计算机基础知识
  • SpringBoot 3.0微服务架构实战:从设计到部署
  • JVM内存模型详解:各个区域的作用与原理
  • Netty为什么性能很高?
  • 【SpringBoot】Spring 一站式解决方案:融合统一返回结果、异常处理与适配器模式
  • 代码随想录算法训练day64---图论系列8《拓扑排序dijkstra(朴素版)》
  • 音视频-WAV格式
  • Java异常处理与调试艺术:从“红字恐惧症“到“优雅破案“
  • 【Java基础】Java中new一个对象时,JVM到底做了什么?
  • ShenNiusModularity项目源码学习(15:ShenNius.Admin.API项目分析)
  • 翻译: 深入分析LLMs like ChatGPT 一
  • Python中字符串的类型,作用和常用方法
  • Harmony os next~鸿蒙应用开发入门教程
  • 通过 PromptTemplate 生成干净的 SQL 查询语句并执行SQL查询语句
  • [Web 安全] PHP 反序列化漏洞 —— PHP 魔术方法
  • 杰发科技AC7801——滴答定时器获取时间戳
  • Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
  • Azure Speech
  • 公司网站做推广/互联网舆情
  • wap网站建设方案/百度网址大全在哪里找
  • 微信机器人网站开发/网络营销的整体概念
  • 商务网站建设与维护考试/推广方式都有哪些
  • 昆山做网站找哪家好/上海网站优化
  • wordpress 数据库名/株洲seo优化推荐