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

【C语言】十六进制、二进制、字节、位

【C语言】十六进制、二进制、字节、位


文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、十六进制、二进制、字节、位
  • 二、变量、指针、指针变量
  • 三、参考文献
  • 总结

前言

使用工具:
1.控制器:STM32F103C8T6
2.仿真器:STLINK


提示:以下是本篇文章正文内容,下面案例可供参考

一、十六进制、二进制、字节、位

u16 A_Parameter[10],B_Parameter[10],Flash_Parameter[10];  //

在C语言或类似的环境中,u16 通常被定义为 unsigned short,这意味着它是一个无符号的16位整型数据。由于一个字节包含8位,因此 u16 类型的数据占用2个字节。

对于数组 u16 A_Parameter[10],它包含了10个 u16 类型的元素。每个元素占用2个字节,因此整个数组占用的字节数为:

10 元素×2 字节/元素=20 字节
所以,u16 A_Parameter[10] 占用了20个字节。

A_Parameter[0] 是数组 A_Parameter 的第一个元素,其类型为 u16,即 unsigned short。由于 u16 是一个16位的无符号整型,它占用2个字节。

因此,A_Parameter[0] 占用2个字节。
在这里插入图片描述

#define FLASH_SAVE_ADDR  0X0800E000 	

通过仿真器回读芯片FLASH中0X0800E000地址
十六进制表示

31 00 00 00 03 00 04 00 

A_Parameter[0] 占据两个字节,
一个字节占据8位,
十六进制表示0x31 00,
二进制表示0011 0001 0000 0000,
按位表示共有十六个0和1的位组成

在这里插入图片描述

二、变量、指针、指针变量

unsigned char a ;//
unsigned char *p ;//
void Flash_Write(void)
{static unsigned int date=0;//¾²Ì¬Êý¾Ý£¬²»Ë溯Êý½øÈë°ÑÊý¾ÝÇå³ýif(++date==65535)date=0;//Êý¾Ý×Ô¼ÓB_Parameter[0]=M1.speed;//M1.speed//date	B_Parameter[1]=M2.speed;	B_Parameter[2]=3;	B_Parameter[3]=4;	printf("Êý¾ÝÀàÐ͵ĴóС\r\n");	printf("char=%d,int=%d,float=%d,double=%d\r\n",sizeof((unsigned char)B_Parameter[0])\,sizeof((unsigned int)B_Parameter[1])\,sizeof((float)B_Parameter[2])\,sizeof((double)B_Parameter[3]));printf("\r\n");	a=10;p=&a;//È¡µØÖ·printf("±äÁ¿aµÄµØÖ·\r\n");	printf("&a=0x%x\r\n",&a);	printf("p=0x%x\r\n",p);printf("&p=0x%x\r\n",&p);	printf("\r\n");		printf("±äÁ¿aµÄÖµ\r\n");	printf("a=%d\r\n",a);printf("*p=%d\r\n",*p);	printf("\r\n");		printf("ͨ¹ýÖ¸Õë±äÁ¿¸Ä±ä±äÁ¿aµÄÖµ\r\n");	*p=11;	printf("a=%d\r\n",a);	printf("*p=%d\r\n",*p);		printf("\r\n");		printf("ͨ¹ýÄÚ´æµØÖ·¸Ä±ä±äÁ¿aµÄÖµ\r\n");	*(unsigned int *)0x200005ac=12;	printf("a=%d\r\n",a);	printf("*p=%d\r\n",*p);		printf("\r\n");			STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)B_Parameter,4);	
}

在这里插入图片描述

在这里插入图片描述

三、参考文献

位、字节、16进制

总结

本文仅仅简单介绍了【C语言】十六进制、二进制、字节、位验证,评论区欢迎讨论。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【论文阅读】Single-Stage Visual Query Localization in Egocentric Videos
  • 一键编译QT5源码脚本(交叉编译arm64、mips64版本)
  • 春秋云镜(ZZCMS 2023)·CVE-2023-50104
  • 深入探究Nginx中的URL哈希负载均衡策略
  • 引用和类型强转
  • Java算法之快速排序(Quick Sort)
  • AMD Zen 5 微架构及其市场策略
  • 简单排序(sort)
  • Openstack 与 Ceph集群搭建(完结): 配置Ceph作为Openstack后端存储
  • 如何打造基于Java SpringBoot和Vue的医院门诊智能预约平台?四步实现高效就医流程,整合MySQL数据库,优化用户体验。
  • 功能测试常用的测试用例大全
  • C#泛型相关
  • 【最新华为OD机试E卷】boos的收入(100分)-多语言题解-(Python/C/JavaScript/Java/Cpp)
  • 网易校招面试题 - 如何给 10 台机器安装 Nginx
  • 视频中间件:与海康ISC平台级联
  • [译] React v16.8: 含有Hooks的版本
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Create React App 使用
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript设计模式系列一:工厂模式
  • Mysql数据库的条件查询语句
  • SQLServer之创建数据库快照
  • VuePress 静态网站生成
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 给初学者:JavaScript 中数组操作注意点
  • 关于springcloud Gateway中的限流
  • 开源地图数据可视化库——mapnik
  • 理解在java “”i=i++;”所发生的事情
  • 模型微调
  • 前端面试之CSS3新特性
  • 设计模式(12)迭代器模式(讲解+应用)
  • 一天一个设计模式之JS实现——适配器模式
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • kubernetes资源对象--ingress
  • MyCAT水平分库
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (06)金属布线——为半导体注入生命的连接
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (LeetCode 49)Anagrams
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十六)Flask之蓝图
  • (学习日记)2024.01.09
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Linux下编译安装log4cxx
  • .bashrc在哪里,alias妙用
  • .NET IoC 容器(三)Autofac
  • .NET 事件模型教程(二)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件