枚举,进制转换,char*,补码,算法,链表,位运算,NULL的含义

news/2024/10/18 18:15:52/

什么是枚举

 

 

 进制转换

4个二进制位组合才能有16个状态

 

字符指针

补码

 编码就是解决这个东西到底用哪个二进制表示

不够位数指的是比如32位,前面都补1 

 

 

 

#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;int main()
{char ch = 0x80;printf("%d\n", ch);ch = 128; // 128是2的7次方,// 128是整型,占四个字节 00000000 00000000 00000000 10000000//char占一个字节,把四个字节赋给一个字节前面被截掉,就把1000 0000放进去了// 1000 0000 但是我们知道1000 0000 首位为1代表负数,// 负数二进制如何转为10进制//   0111 1111// +         1//   1000 0000// 128, 所以1000 0000是-128//所以1000 0000 前面需要补0 才能表示它是正数printf("%d\n", ch); // 输出 -128//所以输出-128ch = 129; // 00000000 00000000 00000000 1000 0001//char占一个字节,把四个字节赋给一个字节前面被截掉,就把1000 0001放进去了// 0111 1111 ->127// 所以结果是 -127printf("%d\n", ch);system("pause");return 0;
}

 

算法

链表 算法

 

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
// 定义链表结点的数据类型
struct Node
{int data; //  数据域struct Node* pNext; // 指针域
};//创建链表,并返回头节点的地址
//静态的建函数运行完就没了
struct Node* CreateList()
{int len; // 用来存放有效结点的个数int val; // 用来临时存放用户输入的结点的值// 分配了一个不存放有效数据的头结点struct Node* pHead = (struct Node*)malloc(sizeof(struct Node));if (pHead == NULL) {printf("分配失败,程序终止\n");exit(-1); // 终止程序}struct Node* pTail = pHead;pTail->pNext = NULL;printf("请输入需要生成的链表节点的个数: len = \n");scanf_s("%d",&len);for (int i = 0; i < len; i++) {printf("请输入第%d各节点的值:", i + 1);scanf_s("%d", &val);struct Node* pNew= (struct Node*)malloc(sizeof(struct Node));if (pNew == NULL) {printf("分配失败,程序终止\n");exit(-1);//终止}pNew->data = val;pNew->pNext = NULL;pTail->pNext = pNew;pTail = pNew;}return pHead;
}void TraverseList(struct Node*  pHead)
{struct Node* p = pHead->pNext;while (p!=NULL) {printf("%d ", p->data);p = p->pNext;}return;
}
int main(void)
{struct Node* pHead = NULL; //pHead用来存放链表头节点的地址pHead = CreateList();TraverseList(pHead);system("pause");return 0;
}

位运算符 

如果想知道某一位是几,比如想知道第一位和第三位是几,可以与0101与,那么如果1和3位结果是1 就说1和3位原来是1,如果1和3位结果是0 就说1和3位原来是0

 

 

NULL的含义

 


http://www.ppmy.cn/news/1131964.html

相关文章

CSS box-shadow阴影

1、语法 box-shadow: h-shadow v-shadow blur spread color inset; 值描述h-shadow必需的。水平阴影的位置。允许负值v-shadow必需的。垂直阴影的位置。允许负值blur可选。模糊距离spread可选。阴影的大小color可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表inset可选。…

通过code2Session接口获取openId(上)

//导入request请求工具类 import {getBaseUrl,getWxLogin,getUserProfile,requestUtil} from ../../utils/requestUtil; import regeneratorRuntime from ../../lib/runtime/runtime; Page({/*** 页面的初始数据*/data: {address:{},baseUrl:,cart:[],totalPrice:0,totalNum:0}…

使用sqlmap获取数据步骤

文章目录 1.使用sqlmap获取所有数据库2.使用sqlmap获取当前连接数据库3.使用sqlmap获取当前数据库下所有表名4.使用sqlmap获取当前数据库下某个表下所有列名5.使用sqlmap获取当前数据库下某个表下指定字段的数据6.脱库命令 1.使用sqlmap获取所有数据库 –dbs python sqlmap.py…

【C语言】通讯录系统实现 (保姆级教程,附源码)

目录 1、通讯录系统介绍 2、代码分装 3、代码实现步骤 3.1、制作菜单menu函数以及游戏运行逻辑流程 3.2、封装人的信息PeoInfo以及通讯录Contact结构体类型 3.3、初始化通讯录InitContact函数 3.4、增加联系人AddContact函数 3.5、显示所有联系人ShowContact函数 3.6、…

ARM64平台jetson nano上安装PyQt5环境

一、前提需要安装python 嵌入式ARM64开发平台上&#xff0c;pip安装pyqt5 无法安装上&#xff0c;python安装过的可以略过这一步&#xff0c;我这安装的是python3.9 二、安装PyQt5以及SIP PyQt5版本需与SIP要对应 sip 4.19.25 下载 pyqt5 5.15.2 下载 1.源码编译需要依赖qm…

关于layui upload上传组件上传文件无反应的问题

最近使用layui upload组件时&#xff0c;碰到了上传文件无反应的问题&#xff0c;感到非常困惑。 因为使用layui upload组件不是一次两次了&#xff0c;之前每次都可以&#xff0c;这次使用同样的配方&#xff0c;同样的姿势&#xff0c;为什么就不行了呢&#xff1f; 照例先…

分享10个必备的VS Code技巧和窍门,提高你的开发效率

目录 前言 1. 时间线视图&#xff1a;本地源代码控制 2. 自动保存&#xff1a;不再需要按Ctrl S 3. 使用命令面板进行任何操作 4、快速转到文件 5. 快速跳转指定行 6. 快速删除该行 7. 享受使用流畅的光标进行打字 8. 快速格式化代码 9. 使用多光标编辑功能节省时间…

9、媒体元素标签

9、媒体元素标签 一、视频元素 video标签 二、音频元素 audio标签 <!--音频和视频 video&#xff1a;视频标签 audio&#xff1a;音频标签 controls&#xff1a;控制选项&#xff0c;可以显示进度条 autoplay&#xff1a;自动播放 -->示例 <!DOCTYPE html> &…