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

进制表示

在 C++ 中,十六进制、十进制和八进制是表示整数的三种常用进制,它们在代码中的表示形式不同

一、问题描述

在代码中,错用 报文接受的 0600 来代表 十六进制。实则0600 代表的是八进制。

//报文:68 15 00 03 00 01 80 8A E6 68 63 27 E7 68 11 01 06 00 01 00 00 00 64 00
//dev_id 表示接受到 11 01 06 00 
void get_id()
{if((dev_id & 0xffff) = 0600 ) //错误{printf("获取成功 ! \n");}else{printf("获取失败 ! \n");}
}

二、代码改正

//报文:68 15 00 03 00 01 80 8A E6 68 63 27 E7 68 11 01 06 00 01 00 00 00 64 00
//dev_id 表示接受到 11 01 06 00 
void get_id()
{if((dev_id & 0xffff) = 0x0600 ) //错误{printf("获取成功 ! \n");}else{printf("获取失败 ! \n");}
}

三、表示方法

C++ 通过前缀区分不同进制的整数常量:

  • 十进制(Decimal)
    无前缀,由数字 0-9 组成(不能以 0 开头,除非表示 0 本身)。
    示例:42、100、-7。

  • 八进制(Octal)
    以 0 为前缀,由数字 0-7 组成。
    示例:052(对应十进制 42)、0144(对应十进制 100)。

  • 十六进制(Hexadecimal)
    以 0x 或 0X 为前缀,由数字 0-9 和字母 a-f(或 A-F,大小写不敏感)组成。
    示例:0x2A(对应十进制 42)、0x64(对应十进制 100)、0XFF(对应十进制 255)。
http://www.hskmm.com/?act=detail&tid=28325

相关文章:

  • 在AI技术快速实现创意的时代,挖掘用户真实需求成为关键——某知名电池管理工具需求洞察
  • 从梯度提升树到分布式机器学习算法
  • iPhone手机越狱后出现闪退的解决方法
  • 企业推行 OKR 的 10 个关键问题
  • 读《构建之法》后的六个问题
  • 自动输入小程序
  • 实用指南:基于阿里云系列平台的python微服务设计与DevOps实践
  • 学习意志:“柚子曲线”与圆的交点个数的代数证明
  • 使用命令行删除 Windows 网络映射驱动器
  • 实验报告4(使用顺序表和单链表,进行有序表的合并)
  • 函数
  • 20232314 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 2025秋_9
  • 10月10日
  • 详细介绍:【Windows10】MySQL9.4安装配置
  • ChatTime的一些理解
  • ChatTS的一些理解
  • 一生一芯学习:基础设施(2)
  • 实验报告3(使用单链表简单实现图书管理系统)
  • 大端与小端
  • 【黑马python】2.Python 字符串
  • 实验报告2(简单实现图书馆管理系统)
  • 实验报告1(switch语句,二维数组)
  • 【实现自己的 kafka!】kafka 的关键概念
  • 12. 对话框
  • 2024ICPC区域赛香港站
  • AI产品经理要了解的算法有哪些?
  • 一位印度小哥逆袭成为谷歌数据科学家的心路历程 - 教程
  • 基于selenium的网页自动搜索
  • MacOS Nginx