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

蓝桥杯基础知识3 memset()

蓝桥杯基础知识3 memset()

#include <bits/stdc++.h>
using namespace std;int main(){int a[5];	//随机数for(int i = 0;i < 5; ++i)cout << a[i] << '\n';cout << '\n';memset(a, 0, sizeof a);	//0for(int i = 0;i < 5; ++i)cout << a[i] << '\n';cout << '\n';memset(a, -1, sizeof a);	//-1for(int i = 0;i < 5; ++i)cout << a[i] << '\n';cout << '\n';memset(a, 1, sizeof(a));	//16843009for(int i = 0;i < 5; ++i)cout << a[i] << '\n';cout << '\n';for(int i = 0;i < 5; ++i)cout << bitset<32>(a[i]) << '\n';cout << '\n';	//4*8位=32位:00000001000000010000000100000001//					1		1		1		1memset(a, 0x3f, sizeof(a));	//0x表示16进制,1061109567for(int i = 0;i < 5; ++i)cout << a[i] << '\n';cout << '\n';for(int i = 0;i < 5; ++i)cout << bitset<32>(a[i]) << '\n';cout << '\n';	//4*8位=32位:00111111001111110011111100111111//              3   f   3   f   3   f   3   freturn 0;
}


C++ 在线工具 | 菜鸟工具 (runoob.com)

原码,反码,补码相互转换在线计算器 (23bei.com)

8位的系统中-1 补码为8个1,即11111111;0的补码是00000000

memset()是一个用于设置内存块值的函数。定义在<cstring>头文件中。函数声明:

void* memset(void*ptr, int value, size_t num);

//                      指针           值        重置大小

ptr:指向要设置值的内存块的指针。

value:要设置的值,通常是一个整数。

num:要设置的字节数。

memset()将ptr指向的内存块的前num个字节设置为value的值,返回一个指向ptr的指针。

memset() 的作用是在一段内存块中填充某个给定的值。

memset(arr, 0, sizeof(arr)) 或 memset(arr, 0, sizeof arr)将数组arr的所有元素设置为0.

对于非字符类型的数组可能产生未定义行为。memset会将每个byte设置成value。

char ~ 8bit ~ 1 Byte        int ~ 32bit ~ 4Byte

value = 1,二进制表示:00000001 00000001 00000001 00000001

//n必须为宏或者constexpr
int arr[n] = {0};    

​C/C++基础语法 定义一个数组并初始化为0 

//int arr[n];
arr[n] = {0};

把数组后面的一块大小为sizeof(int)的内存复制为0,这块内存不属于数组,具体执行结果与内存结构有关,属于典型未定义行为。

#include <bits/stdc++.h>
using namespace std;int main(){int n = 5;int b[n] = {};for(int i = 0; i < 2*n; ++i)cout << b[i] << ' ';cout <<'\n';int a[n];a[n] = {0};for(int i = 0; i < 2*n; ++i)cout << a[i] << ' ';cout <<'\n';//0 0 0 0 0 32553 1101044968 32553 1101043616 32553 //-2129291136 32764 0 10 0 0 4198995 0 0 0 	int m = 4;int c[m] = {};for(int i = 0; i < 2*m; ++i)cout << c[i] << ' ';cout <<'\n';int d[m];d[m] = {0};for(int i = 0; i < 2*m; ++i)cout << d[i] << ' ';//0 0 0 0 -2129291136 32764 0 10 //0 0 4199454 0 0 0 0 0 return 0;
}

reference:

原码和补码之间的相互转化 - 知乎 (zhihu.com)

为什么0的补码形式只有一种?-CSDN博客​​​​​​

c++ - What's the difference between constexpr and const? - Stack Overflow

浅谈 C++ 中的 const 和 constexpr - 知乎

C 库函数 – memset() | 菜鸟教程 (runoob.com)

C++中memset(a, 0, sizeof(a))和a[n] = {0}有什么本质上的区别? - 知乎 (zhihu.com)

C++中memset()函数的用法详解_c++如果a数组是int类型,则memset是以每4个字节为一组赋值-CSDN博客

memset函数及其用法,C语言memset函数详解 (biancheng.net)

相关文章:

蓝桥杯基础知识3 memset()

蓝桥杯基础知识3 memset() #include <bits/stdc.h> using namespace std;int main(){int a[5]; //随机数for(int i 0;i < 5; i)cout << a[i] << \n;cout << \n;memset(a, 0, sizeof a); //0for(int i 0;i < 5; i)cout << a[i] << …...

CentOS安装k8s单机/集群及一些命令

目录 前言 1. 安装docker 2. 安装要求 3.准备网络&#xff08;如果只装单机版可跳过此部&#xff09; 4. 准备工作 5. 安装 5.1. 配置阿里云yum k8s源 5.2 安装kubeadm、kubectl和kubelet 5.3 初始化&#xff0c;只在master执行&#xff0c;子节点不要执行 5.3.1 一些…...

iOS和安卓端个人踩坑史

本公司不提供测试机&#xff0c;借手机是开发测试中最麻烦的事 iOS可行组 1、iOS可以播放视频无声音&#xff0c;Andorid有声音 当时做了个远程视频连接项目&#xff0c;使用了jitsi第三方视频服务&#xff0c;iOS没有加dom.play()导致无法接收声音 2、iOS可以长按保存图片…...

前端面试Vue部分补充(详细)

1、vue的基本原理 Vue的基本原理是基于MVVM&#xff08;Model-View-ViewModel&#xff09;模式的前端框架。它通过数据绑定和响应式系统来实现数据和视图的自动同步更新。 Vue的基本原理可以概括为以下几个步骤&#xff1a; 1). 解析模板&#xff1a;Vue通过解析模板来生成虚…...

计算机网络重点简答题

文章目录&#xff08;持续更新&#xff09; 计算机网络重点简答题&#x1f4e3;一、什么是TCP/IP的五层参考模型&#xff1f;✨1.是什么✨2.主要功能✨3.数据包的封装和解封装 &#x1f4e3;二、TCP与UDP的区别&#xff1f; 计算机网络重点简答题 &#x1f4e3;一、什么是TCP/…...

【迅搜17】SCWS分词(二)自定义字典及分词器

SCWS分词&#xff08;二&#xff09;自定义字典及分词器 经过上篇文章的学习&#xff0c;相信大家对分词的概念已经有了更深入的了解了吧。我们也知道了&#xff0c;SCWS 是 XS 中的一个重要组成部分&#xff0c;但它也是可以单独拿出来使用的。而对于分词器来说&#xff0c;不…...

深度学习记录--偏差/方差(bias/variance)

误差问题 拟合神经网络函数过程中会出现两种误差&#xff1a;偏差(bias)和方差(variance) 偏差和误差的区别 欠拟合(underfitting) 当偏差(bias)过大时&#xff0c;如左图&#xff0c;拟合图像存在部分不符合值&#xff0c;称为欠拟合(underfitting) 过拟合(overfitting) …...

React16源码: React中的renderRoot的源码实现

renderRoot 1 &#xff09;概述 renderRoot 是一个非常复杂的方法这个方法里处理很多各种各样的逻辑, 它主要的工作内容是什么&#xff1f;A. 它调用 workLoop 进行循环单元更新 遍历整个 Fiber Tree&#xff0c;把每一个组件或者 dom 节点对应的Fiber 节点拿出来单一的进行更…...

GitHub项目推荐-incubator

项目地址 Github地址&#xff1a;GitHub - apache/incubator-anser 官网&#xff1a;Apache Answer | Free Open-source Q&A Platform 项目简述 这是Apache的一个开源在线论坛&#xff0c;也可以部署成为一个自有的QA知识库。项目主要使用了Go和Typescript来开发&#…...

如何使用ActiveMQ

ActiveMQ是Apache的一款开源消息总线&#xff0c;主要用来做消息的分发。使用ActiveMQ&#xff0c;通常需要以下步骤&#xff1a; 一、启动ActiveMQ 首先需要下载ActiveMQ&#xff0c;然后进行启动。启动后&#xff0c;可以在控制台创建队列&#xff0c;初始用户名和密码通常…...

《Python 3 基础》- numpy的array,python的list、tuple的区别与联系再辨析

这里写自定义目录标题 一、基本认识二、list与传统数组&#xff08;以C为例&#xff09;的联系与区别三、1维list切片规则四、2维list类似于2维数组&#xff0c;但表达方式需适应五、list与元组的联系与区别1. tuple的创建方法类似于list&#xff0c;tuple用&#xff08;&#…...

写点东西《最佳 Web 框架不存在 》

写点东西《&#x1f947;最佳 Web 框架不存在 &#x1f6ab;》 TLDR&#xff1b;您选择的 Web 应用程序框架并不重要。嗯&#xff0c;它很重要&#xff0c;但并不像其他人希望您相信的那样重要。 2024 年存在如此多的库和框架&#xff0c;而且最好的库和框架仍然备受争议&…...

游戏开发丨基于PyGlet的简易版Minecraft我的世界游戏

文章目录 写在前面我的世界PyGlet简介实验内容游戏按键程序设计引入文件 运行结果写在后面 写在前面 本期内容&#xff1a;基于PyGlet的简易版Minecraft我的世界游戏 实验环境&#xff1a; pycharmpyglet 项目下载地址&#xff1a;https://download.csdn.net/download/m0_6…...

在线的货币兑换平台源码下载

在线的货币兑换平台&#xff0c;可帮助全球各地的个人和企业将货币从一种货币兑换为另一种货币。该货币兑换平台是 Codecanyon 中最先进的脚本。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88728084...

LLMs之GLM-4:GLM-4的简介、安装和使用方法、案例应用之详细攻略

LLMs之GLM-4&#xff1a;GLM-4的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年01月16日&#xff0c;智谱AI在「智谱AI技术开放日(Zhipu DevDay)」推出新一代基座大模型GLM-4。GLM-4 的主要亮点和能力如下:>> 性能与GPT-4相近&#xff1a;多模态、长文…...

用Python“自动连发消息”

自动连发消息&#xff0c;基本上C和Python的思路都是不停的模拟“击键”操作&#xff0c;还有一种VB的脚本写法&#xff0c;反成每种语言都能写&#xff0c;更厉害的可以用java做出个GUI界面&#xff0c;先上代码。 一 代码 import pyautogui # 鼠标 import p…...

CSS3中多列布局详解

多列布局 概念&#xff1a;在CSS3之前&#xff0c;想要设计类似报纸那样的多列布局&#xff0c;有两种方式可以实现&#xff1a;一种是"浮动布局"&#xff0c;另一种是“定位布局”。 这两种方式都有缺点&#xff1a;浮动布局比较灵活&#xff0c;但不容易控制&…...

Xmind 网页端登录及多端同步

好久没用 Xmind 了&#xff0c;前几天登录网页端突然发现没办法登录了&#xff0c;总是跳转到 Xmind AI 页面。本以为他们不再支持网页端了&#xff0c;后来看提示才知道只是迁移到了新的网址&#xff0c;由原来的 xmind.works 现在改成了的 xmind.ai。又花费好长时间才重新登录…...

Transformer从菜鸟到新手(七)

引言 上篇文章加速推理的KV缓存技术&#xff0c;本文介绍让我们可以得到更好的BLEU分数的解码技术——束搜索。 束搜索 我们之前生成翻译结果的时候&#xff0c;使用的是最简单的贪心搜索&#xff0c;即每次选择概率最大的&#xff0c;但是每次生成都选择概率最大的并不一定…...

上海AI实验室等开源,音频、音乐统一开发工具包Amphion

上海AI实验室、香港中文大学数据科学院、深圳大数据研究院联合开源了一个名为Amphion的音频、音乐和语音生成工具包。 Amphion可帮助开发人员研究文本生成音频、音乐等与音频相关的领域&#xff0c;可以在一个框架内完成&#xff0c;以解决生成模型黑箱、代码库分散、缺少评估…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...