学习C语言——体会计算机中的0和1
/*
把hello隐写入一个整型数组,这个小程序可以考察是否清楚数据在内存中存储的具体细节。
具体的说,int类型在小端机器上的存储方式是高位在高地址,低位在低地址,从视觉习惯上和我们的日常书写习惯相反;
char类型占用一个字节的存储空间,它不区分大端和小端,是顺序存储的,和阅读顺序相同,当
我们根据这个规律进行转换后,就可以把一段字符串写入一个数组,当我们以字符串输出的时候,就可以看到隐藏在整型数组中的字符。
这个功能扩展后,可以让一个整型数组存储任意的字符串。
同时,我们也会想到,如果我把字符串以无符号整型的方式,每4个字节读取出来,组成一个数组,是否就完成了这种隐写呢?
在现在的MySQL数据库字符编码中,utf8mb4是默认字符集,我想选用这个字符集,除了能够包含完整的世界范围内的字符外,还带来了一种处理起来的方便性,那就是可以把它当作一个整型数来看待。处理起来更加方便。
*/
#include <stdio.h>int main(int argc, char** argv){int a[3][3][4]={0x6c6c6568,0x6f,'\0','l','o','\0',0,2,3,3,3,0,4,4,4,4,5,65,5,5,6,6,6,0,7,7,7,7,8,8,8,'h','e','l','l','o'};char* str=(char*)a;int* p=(int*)a;for(int i=0;i<3*3*4;i++){printf("%x ", *(p+i));}for(int i=0;i<3;i++){printf("%s\n", str);}return 0;
}
给大家留一个问题,如果数组中的第三个整型数不是‘\0’,输出会有问题吗,为什么?
如果你知道答案,欢迎给我留言,点赞,一起探讨有趣的事情。
相关文章:
学习C语言——体会计算机中的0和1
/* 把hello隐写入一个整型数组,这个小程序可以考察是否清楚数据在内存中存储的具体细节。 具体的说,int类型在小端机器上的存储方式是高位在高地址,低位在低地址,从视觉习惯上和我们的日常书写习惯相反; char类型占用…...
PyTorch官网demo解读——第一个神经网络(1)
神经网络如此神奇,feel the magic 今天分享一下学习PyTorch官网demo的心得,原来实现一个神经网络可以如此简单/简洁/高效,同时也感慨PyTorch如此强大。 这个demo的目的是训练一个识别手写数字的模型! 先上源码: fr…...
升华 RabbitMQ:解锁一致性哈希交换机的奥秘【RabbitMQ 十】
欢迎来到我的博客,代码的世界里,每一行都是一个故事 升华 RabbitMQ:解锁一致性哈希交换机的奥秘【RabbitMQ 十】 前言第一:该插件需求为什么需要一种更智能的消息路由方式?一致性哈希的基本概念: 第二&…...
vue3 element-plus 日期选择器 el-date-picker 汉化
vue3 项目中,element-plus 的日期选择器 el-date-picker 默认是英文版的,如下: 页面引入: //引入汉化语言包 import locale from "element-plus/lib/locale/lang/zh-cn" import { ElDatePicker, ElButton, ElConfigP…...
剑指 Offer(第2版)面试题 35:复杂链表的复制
剑指 Offer(第2版)面试题 35:复杂链表的复制 剑指 Offer(第2版)面试题 35:复杂链表的复制解法1:模拟 剑指 Offer(第2版)面试题 35:复杂链表的复制 题目来源&…...
自定义指令Custom Directives
<script setup langts> import { ref } from "vue"const state ref(false)/*** Implement the custom directive* Make sure the input element focuses/blurs when the state is toggled* */ // 以v开头的驼峰式命名的变量都可以作为一个自定义指令 const VF…...
预测性维护对制造企业设备管理的作用
制造企业设备管理和维护对于生产效率和成本控制至关重要。然而,传统的维护方法往往无法准确预测设备故障,导致生产中断和高额维修费用。为了应对这一挑战,越来越多的制造企业开始采用预测性维护技术。 预测性维护是通过传感器数据、机器学习和…...
华为、新华三、锐捷常用命令总结
华为、新华三、锐捷常用命令总结 一、华为交换机基础配置命令二、H3C交换机的基本配置三、锐捷交换机基础命令配置 一、华为交换机基础配置命令 1、创建vlan: <Quidway> //用户视图,也就是在Quidway模式下运行命令。 <Quidway>system-view…...
链路追踪详解(四):分布式链路追踪的事实标准 OpenTelemetry 概述
目录 OpenTelemetry 是什么? OpenTelemetry 的起源和目标 OpenTelemetry 主要特点和功能 OpenTelemetry 的核心组件 OpenTelemetry 的工作原理 OpenTelemetry 的特点 OpenTelemetry 的应用场景 小结 OpenTelemetry 是什么? OpenTelemetry 是一个…...
Node.js 工作线程与子进程:应该使用哪一个
Node.js 工作线程与子进程:应该使用哪一个 并行处理在计算密集型应用程序中起着至关重要的作用。例如,考虑一个确定给定数字是否为素数的应用程序。如果我们熟悉素数,我们就会知道必须从 1 遍历到该数的平方根才能确定它是否是素数ÿ…...
python matplotlib 三维图形添加文字且不随图形变动而变动
要在三维图形中添加文字并使其不随图形变动而变动,可以使用 annotate() 方法。这个方法可以在三维图形中添加文字,并且可以指定文字的位置、对齐方式和字体大小等属性。 下面是一个示例代码,演示如何在三维图形中添加文字: impo…...
Ubuntu设置kubelet启动脚本关闭swap分区
查看swap分区 swapon -s打开swap分区 swapon -a查看/etc/fstab下所有固化的swap分区,注释 vi /etc/fstab修改kubelet.conf文件 vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf添加 ExecStartPre/sbin/swapoff -a生效 systemctl daemon-reload sys…...
MySQL数据库存储
MySQL数据库存储 MySQL数据库简介MySQL开发环境MySQL安装图形化界面工具Navicat使用 表的操作表的概念3.2 创建表3.3 修改表 数据的操作-增删改查4.1 增加数据4.2 删除数据4.3 修改数据4.4 查询数据4.4.1 基础查询4.4.2 分组查询和聚合函数4.4.4 having语句4.4.5 排序4.5 多表联…...
verilog语法进阶,时钟原语
概述: 内容 1. 时钟缓冲 2. 输入时钟缓冲 3. ODDR2作为输出时钟缓冲 1. 输入时钟缓冲 BUFGP verilog c代码,clk作为触发器的边沿触发,会自动将clk综合成时钟信号。 module primitive1(input clk,input a,output reg y); always (posed…...
案例069:基于微信小程序的计算机实验室排课与查询系统
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...
C语言:将三个数从大到小输出
#include<stdio.h> int main() {int a 0;int b 0;int c 0;printf("请输入abc的值:");scanf_s("%d%d%d", &a, &b, &c);if (b > a){int tmp a;a b;b tmp;}if (c > a){int tmp a;a c;c tmp;}if (b < c){int t…...
基于Hadoop的铁路货运大数据平台设计与应用
完整下载:基于Hadoop的铁路货运大数据平台设计与应用 基于Hadoop的铁路货运大数据平台设计与应用 Design and Application of Railway Freight Big Data Platform based on Hadoop 目录 目录 2 摘要 3 关键词 4 第一章 绪论 4 1.1 研究背景 4 1.2 研究目的与意义 5 …...
Java基础题2:类和对象
1.下面代码的运行结果是() public static void main(String[] args){String s;System.out.println("s"s);}A.代码编程成功,并输出”s” B.代码编译成功,并输出”snull” C.由于String s没有初始化,代码不能…...
冒泡排序学习
冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地交换相邻的元素来排序。具体实现如下: 1. 从待排序的数组中的第一个元素开始,依次比较相邻的两个元素。 2. 如果前一个元素大于后一个元素,则交换…...
LeetCode(65)LRU 缓存【链表】【中等】
目录 1.题目2.答案3.提交结果截图 链接: LRU 缓存 1.题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 k…...
Diablo Edit2:终极暗黑破坏神2角色存档编辑器完全指南
Diablo Edit2:终极暗黑破坏神2角色存档编辑器完全指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否厌倦了在暗黑破坏神2中反复刷装备?是否因为技能点分配错误而不…...
构建安全通讯系统:从加密原理到工程实践的全方位指南
1. 项目概述:为什么我们需要一个“安全通讯系统”?在当今这个信息高度互联的时代,通讯早已渗透到我们工作和生活的每一个角落。从日常的即时消息、邮件往来,到企业内部的机密文件传输、远程会议,再到物联网设备间的数据…...
电源管理芯片瞬态测试技术解析与优化方案
1. 电源管理芯片瞬态测试的重要性与挑战在当今移动通信和便携式电子设备中,处理器工作频率已进入GHz时代,这对电源管理系统提出了前所未有的严苛要求。作为电源管理系统的核心组件,低压差线性稳压器(LDO)和降压型开关稳压器(Buck Regulator)的…...
别再死记硬背了!用MATLAB的`strel`函数玩转形态学:从结构元素选择到开闭运算除噪
别再死记硬背了!用MATLAB的strel函数玩转形态学:从结构元素选择到开闭运算除噪 在数字图像处理的学习过程中,很多初学者都会陷入一个误区:机械地记忆膨胀、腐蚀、开运算、闭运算的定义,却忽略了形态学操作中最关键的一…...
手把手教你用eNSP模拟医院网络:从门诊到住院部的完整配置流程(含OSPF、VRRP、MSTP)
手把手教你用eNSP模拟医院网络:从门诊到住院部的完整配置流程(含OSPF、VRRP、MSTP) 医院网络作为医疗信息化的核心基础设施,其稳定性和高效性直接关系到医疗服务的质量。对于网络工程师而言,掌握医院网络的规划与配置技…...
Zynq/ZynqMP PL端以太网避坑指南:手把手教你配置GMII to RGMII IP(从Vivado到Linux设备树)
Zynq/ZynqMP PL端以太网开发实战:从GMII到RGMII的完整避坑手册 在嵌入式系统开发中,以太网功能几乎是现代设备的标配需求。当使用Xilinx Zynq或ZynqMP系列芯片时,开发者常面临一个关键选择:使用PS端内置的MAC控制器,还…...
开源AI代码助手Codetie:本地部署、模型自选与实战调优指南
1. 项目概述:一个面向开发者的AI代码伴侣最近在GitHub上看到一个挺有意思的项目,叫codetie-ai/codetie。乍一看名字,可能以为是某个新的编程语言或者框架,但深入了解后,发现它的定位非常精准:一个开源的、本…...
038、LVGL动画路径与缓动函数
LVGL动画路径与缓动函数:从一次UI卡顿调试说起 上周调试一个智能家居面板项目,客户反馈说“那个温度滑块动起来像生锈的齿轮”。我盯着逻辑分析仪看了半天,CPU占用率才12%,帧率稳定在60fps——问题出在动画路径上。默认的线性缓动让滑块在起点和终点突然启停,人眼对这种“…...
如何在3分钟内掌握PowerPoint专业公式编辑:LaTeX-PPT终极指南
如何在3分钟内掌握PowerPoint专业公式编辑:LaTeX-PPT终极指南 【免费下载链接】latex-ppt Use LaTeX in PowerPoint 项目地址: https://gitcode.com/gh_mirrors/la/latex-ppt 还在为PowerPoint中编辑复杂的数学公式而头疼吗?LaTeX-PPT这款开源插件…...
终极指南:4步让旧Mac运行最新macOS的完整教程
终极指南:4步让旧Mac运行最新macOS的完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为你的老Mac无法升级最新系统而烦恼吗ÿ…...
