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

news2024/9/19 10:44:32

【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语言】十六进制、二进制、字节、位验证,评论区欢迎讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2093032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

修改Apollo的依赖版本包,并制作arm版本的镜像

由于一些安全因素,Apollo组件扫描出一些依赖插件存在安全漏洞,因此要修改部分依赖组件的版本,重新制作镜像,我们来看一下如何实现 1. 修改源码 1.1 拉取源码,并切换到我们需要的分支 # 拉取源码项目 git clone gitgi…

TeamTalk消息服务器(群组相关)

具体的流程如下介绍,后续需要着重研究数据库相关表的结构设计。 群组信令和协议设计 enum GroupCmdID {CID_GROUP_NORMAL_LIST_REQUEST 1025,CID_GROUP_NORMAL_LIST_RESPONSE 1026,CID_GROUP_INFO_REQUEST 1027,CID_GROUP_INFO_RESPONSE 1028,// ...... 暂时省…

pm2 + linux + nginx

pm2 pm2是一个用于管理node项目的工具 前言 有如下两个文件 index.js const express require("express"); const app express(); const port 9999;app.get("/index", (req, res) > {res.json({code:200,msg:"songzx001"}) });app.lis…

openGL笔记之序章

本系列来自 youtube 主播cherno的 openGL系列, b站双语版链接 https://www.bilibili.com/video/BV1Ni4y1o7Au?p1&vd_source0be7021510d651441db0edd576304997 openGL 是一个接口规范,定义了一系列接口,我们可以通过使用这些接口来一定程度的操作GP…

[Meachines] [Easy] Safe BOF+ROP链+.data节区注入BOF+函数跳转BOF+KeePass密码管理器密码破译

信息收集 IP AddressOpening Ports10.10.10.147TCP:22,80,1337 $ nmap -p- 10.10.10.147 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10deb9u6 (protocol 2.0) | ssh-hostkey: | 2048 …

基于django的在线音乐网站设计/基于python的音乐播放系统

Django在线音乐网站设计 摘要:计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的在线音乐网站设计能够更有效管理音乐资讯规范,帮助管理者更加有效管理音乐网站,可以帮助提高克服人工…

【深度剖析】《黑神话:悟空》员工薪资大曝光,你慕了吗?

《黑神话:悟空》引爆市场,员工薪资却成热议焦点! 自8月20日解锁以来,《黑神话:悟空》以其国产3A游戏的高品质迅速占领市场,引发全球玩家的热烈讨论。深圳市游科互动科技有限公司开发的这款游戏&#xff0c…

C++20 是 C++ 语言的一次重大更新

C20 是 C 语言的一次重大更新,它引入了许多新特性,旨在提高开发者的生产力和代码的现代化。以下是 C20 的一些关键特性的总结: 模块(Modules):C20 引入了模块,这是一种新的编译单元,…

CSS解析:定位和层叠上下文

许多开发人员对定位的理解很粗略,如果不完全了解定位,就很容易给自己挖坑。有时候可能会把错误的元素放在其他元素前面,要解决这个问题却没有那么简单。 一般的布局方法是用各种操作来控制文档流的行为。定位则不同:它将元素彻底…

mysql 不同版本安装不同端口

安装版本为Mysql8.0.11 先解压,解压后,包下创建my.ini文件内容如下: 注意:端口不能给别的mysql一样 [mysqld]# 设置3306端口port3307 # 自定义设置mysql的安装目录,即解压mysql压缩包的目录basedirD:\\rj\\mysql8.0.…

如何将 HEIC 转换为 JPG/PNG

“我刚刚将 iPhone 15 升级到 iOS 18,但新 iPhone 的照片现在变为 HEIC。什么是 HEIC 格式?我可以在 Windows 上使用 HEIC 照片吗?有人知道 HEIC 的技巧吗?谢谢!” 当你换了一部新的iPhone时,你会发现你的图…

TCP协议 配合 Wireshark 分析数据

在TCP连接中,无论是客户端还是服务端,都有可能成为发送端或接收端,这是因为TCP是一个全双工协议,允许数据在同一连接中双向流动 客户端(Client):通常是指主动发起连接请求的一方。例如&#xf…

商家推广怎么利用C#发送视频短信

视频短信,这一融合了视频、音频与文本的创新通信方式,不仅革新了传统短信的单一形式,更以其独特的魅力带领着移动通信的新风尚。它以移动视频格式为载体,实现了信息传输的多元化,为用户带来不一样的通信体验。 支持免费…

windows安全中心永久卸载工具分享

使用方法 博客:h0ck1r丶羽~从零到一 卸载工具下载链接: 夸克网盘分享 一路回车,选项Y即可 耐心等待几秒种,自动重启 此时打开windows安全中心,已经完全不能使用了,响应的杀毒功能也关了 往期推荐 【渗透测…

简易STL实现 | Deque的实现

一种 在内存中存储元素的数据结构,它支持 在两端添加和删除元素(使用循环数组实现) 1、deque的特性(分段deque实现) 1、双端操作: deque支持在前端和后端执行快速的插入和删除操作 2、随机访问&#xff…

Colorfy v3.26 — 修改版,超过2000种图片涂色

Colorfy 是一款适用于安卓设备的涂色书应用,提供了超过 2000 种不同的图片供用户涂色,包括动物、花卉、城市风景等。每日更新新图,支持各种颜色和绘画工具,如水彩笔、铅笔、细线笔等。用户可以放大绘画区域进行精细绘画。此版本由…

Transformer-LSTM神经网络多输入单输出回归预测的MATLAB实现

在现代机器学习和深度学习领域,处理多维时序数据的需求越来越多。在这些应用场景中,我们常常面临需要同时处理多个输入变量,并预测一个输出变量的任务。这类问题通常被称为多输入单输出回归问题。为了有效地应对这类问题,结合 Tra…

在浮躁的时代,保持冷静和沉稳,心怀勇气

在大家阅读之前,我真诚地祝愿大家在浮躁的世界中找到属于自己的宁静与力量,让每一天都充满希望和快乐。 在这个快节奏、信息爆炸的时代,我们每个人都像是被卷入了一个永不停歇的漩涡,不断地被各种声音和画面拉扯着。有时候&#x…

一篇搞懂classpath,resources

Classpath(类路径)在Java开发中是一个非常重要的概念,它指定了Java虚拟机(JVM)和Java编译器寻找类文件和包的位置。具体来说,Classpath告诉Java执行环境在哪些目录下可以找到所要执行的Java程序所需要的类或…

如何打造基于Java SpringBoot和Vue的医院门诊智能预约平台?四步实现高效就医流程,整合MySQL数据库,优化用户体验。

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…