二进制通俗讲解

编码器与译码器工作原理:通俗解释数字电路基础知识 深入浅出讲解编码器与译码器的工作机制,帮助掌握数字电路基础知识的核心概念,通过实例理解信号转换过程,适合初学者快速入门数字电路基础知识。 阅读详情

二进制在编程中的地位举足轻重,这个名词听上去高深莫测,下面来揭开它神秘的面纱。

  我们平时计数都是以10为进制,我们平时数数:1、2、3、4、5、6、7、8、9,数到10时导致个位变成0,十位变成了1,因为9+1要向十位进一,十进制意味着数字的每一位最小为0,最大为9。同理,二进制意味着数字的每一位最小为0,最大为1,十进制的2在二进制如何表示呢?1+1意味着要进一位,对于二进制来说,1+1=10,注意!这里的10不是十进制的十。二进制的减法原理和十进制的减法一样,10-1=1,因为0减1,必须借一位才能够完成这个运算。
  二进制里有个位、十位的概念吗?没有。
  在解释这个问题前先介绍几个公式,计算机内有一些相应的单位去计量容量,这些单位跟程序员相关的的主要有:
  1字节=8位
  1字=16位
  双字=32位=2字
  如何称呼二进制中的位呢?比如10001100是一个总共有8位的数,也称为一个字节,10001100这个字节最左边的1称为字节的最高位,最右边的0称为字节的最低位。从最高位向最低位的方向到第几位就称为高几位,如1000称为这个字节的高4位,100称为这个字节的高3位;从最低位向最高位的方向数起到第几位就称为低几位,如:1100称为这个字节的低4位,100称为这个字节的低3位。
一个字节从最低位往最高位的方向依次称为第0位(注意不是第1位)、第1位、第2位直到第7位(注意不是第8位),如10001100的第0位是0,第2位是1,第3位是1,这个称呼对于一个字、一个双字以及更大的计量单位都是一样的。

 

  下面我们把二进制10001100转化为十进制,以加深大家对二进制的认识:(^表示乘幂,2^3表示3个2相乘,2^4表示4个2相乘,以些类推,2^n表示n个2相乘;*表示乘号;n^m的意义亦可视为1×n×n×n...︰起始值1(乘法的单位元)乘底m这么多次。除了0之外所有数的零次方都是1,即n^0=1;幂的指数是负数时,等于1/n^m。)
  计算过程很简单:1*(2^7)+0*(2^6)+0*(2^5)+0*(2^4)+1*(2^3)+1*(2^2)+)+0*(2^1))+0*(2^0)=128+0+0+0+8+4+0+0=140。
  这个公式为什么能把二进制计算成十进制呢,先看看十进制是如何成为人们心目中的数字的。
  1206=1*(10^3)+2*(10^2)+0*(10^1)+6*(10^0)     
     =1000+200+0+6=1206
   这个相信大家都能理解,因为十进制是以10为进制的,所以十位是多少就表示这个数中含多少个10,百位是多少表示这个数中含多少个100.比如一个十进制有3位,那么该数=百位*(10^2)+十位*(10^1)+个位*(10^0);如果一个十进制有n位,那么该数=第n-1位值*(10^(n-1))+第n-2位值*(10^(n-2))+......+第1位值*(10^1)+第0位值*(10^0)。
  因为二进制是以2为进制的,理所当然,所以对于一个n位的二进制来说,转化成十进制的方式是:第n-1位值*(2^(n-1))+第n-2位值*(2^(n-2))+......+第1位值*(2^1)+第0位值*(2^0)。
  通常我们在编程时使用十六进制来表示二进制,而不直接使用二进制,十六进制数的10-15如何表示呢?它们分别表示为A、B、C、D、E、F。在C语言中,可以使用0X,后跟十六进制的方式来描述一个二进制数,比如0x02表示二进制中的10,二进制如何转换成十六进制呢?

 

  比较实用的方法是将二进制以4位为一组,每4位转化为一个十六进制数字。
  以10001100为例,将它分为高4位1000和低4位1100,分别按照按照前面所说的方法转化成十进制,高4位1000:1*2^3=8;低4位1100转化成十进制:1*2^3+1*2^2=12。
  8表示为十六进制仍然是8,而12表示为十六进制是C,所以10001100用十六进制表示是8C,C语言描述是0X8C。
============================================== 
小技巧集锦:
  1、可以先把一个8位的二进制数11111111事先转化十进制数,并记住,下次转化时非常方便,第7位转化为10进制是128,第6位转化后是64,第5位转化后是32,第4位转化后是16,第3位转化后是8,第2位转化后是4,第1位转化后是2,第0位转化后是1,转化时把所有值为1的位的转化后十进制数相加即可。二进制1100转化成十进的过程:8+4=12

 

RTX 50系显卡(5080/5090D)CUDA 12.8环境下的vLLM部署避坑与实战指南 本文为RTX 5080/5090D显卡用户提供了在CUDA 12.8环境下部署vLLM的完整实战指南。文章详细介绍了从驱动安装、CUDA 12.8环境配置、PyTorch Nightly版本精准匹配,到vLLM源码编译及常见报错排查的全过程,帮助开发者高效利用新一代硬件进行大模型推理。 阅读详情

相关推荐

别再只跑Demo了!用MovieLens数据集完整复现一个电影推荐系统(Python/Pandas实战)

本文详细介绍了如何利用MovieLens数据集从零构建一个完整的电影推荐系统,涵盖数据清洗、特征工程、推荐算法实现(协同过滤和矩阵分解)以及Web服务部署的全流程。通过Python和Pandas实战,读者可以掌握推荐系统的核心技术和生产环境部署技巧,不再局限于简单的Demo运行。

weixin_29062865的博客 149

进制转换方法

进制转换 在网络中传输的各种信息都是靠二进制传输的,进制分为 二进制、八进制、十进制、十六进制 二进制:0、1逢二进一(二进制转十进制) 1011011100=129+127+126+124+123+122=512+128+64+16+8+4=732 十进制:0 1 2 3 4 5 6 7 8 9 逢十进一 110 (十进制转二进制) 110/2=55—0 55/2=27—1 27/2=13—1 13/2=6—1 6/2=3—0 3/2=1—1 1/2=0—1 1101110 十六进制:

q2479529344的博客 5609

电动汽车整车控制器 UDS诊断功能开发调试优化方法

摘要:通过某电动汽车VCU开发过程中,UDS诊断功能的调试,发现一些测试中存在的问题,比如覆盖度不够、效率低下等,提出了相应的优化方法,并经过测试验证其可行性,此方法亦可推广应用至BMS、HCM等其他控制器的UDS诊断开发调试过程中。希望能给相关技术人员带来参考和帮助。

qq_43011586的博客 2142

二进制(通俗简要版,一看就会)

进制、二进制,通俗易懂

ssh1213335652的博客 3万+

UE5垃圾回收优化实战:定位GC卡顿与内存泄漏

垃圾回收(GC)是Unreal Engine 5中保障UObject内存安全的核心机制,其基于引用图的标记-清除原理决定了性能高度依赖引用结构合理性。当GC频繁触发或单次耗时突增,往往映射出蓝图强引用冗余、C++根对象管理失控或资源生命周期设计缺陷等底层问题。技术价值在于降低主线程阻塞、稳定60帧体验、抑制内存异常增长;典型应用场景包括关卡切换卡顿、UI打开后持续GC、打包后内存不释放等。本文聚焦UE5特有的Full GC模式、UObject生命周期约束及GC触发时机不可见性,提供从蓝图变量规范、TSoft

weixin_31995251的博客 362

避坑指南:Unity与Visual Studio开发环境配置中的5个常见问题及解决方案

本文针对Unity与Visual Studio开发环境配置中的5个常见问题,提供了详细的解决方案。重点解决了项目文件生成失败导致命名空间无法识别、调试器无法附加、包管理器与扩展安装混乱、脚本编译错误以及多版本环境冲突等核心痛点,帮助开发者构建稳定高效的开发调试环境。

weixin_27791839的博客 279

二进制基础理解

一.二进制基础理解平时使用100,23等来进行日常交流。我们人看得懂(可能因为我们有10个手指头的原因吧),但计算机是不认识,计算机只能识别二进制的数字,二进制由1和0组成(1在硬件上面表示为高电压,0为低电压)二.二进制转换为十进制那如何看懂二进制就是我们第一个需要解决的问题,这里我们需要将二进制转换为十进制来看首先我们需要了解我们日常使用的十进制的计算原理,拿101来说,然后我们将所有位上的数字进行相加从这里例子可以得到1.叫几进制,对应的幂的底数()就是几。

little_startoo的博客 3054

①电子产品拆解分析-暖手宝

电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出;

a6662580的博客 5291

什么是二进制,进制之间是如何转换的,浅显易懂的,一看就会

讲运算符之前先说说进制的转换 在JavaScript中,普通的数字称为十进制 那么什么是二进制呢? 二进制数据是用0和1两个数码来表示的数,它的基数为2,进位规则是逢二进一 加法:0+0=0;1+0=1;0+1=1;1+1=0(等价于10,向前进一) 案例(前面用0补齐) 1+1=10,10+1=11,11+1=100,100+1=101,101+1=110,110+1=111,111+1...

榴莲不好吃的专栏 8万+

Unreal5从入门到精通之如何实现移动端触屏滑动手势

随着移动设备的普及,越来越多的游戏和应用选择在移动平台上发布。Unreal Engine 5(UE5)作为一款强大的游戏引擎,提供了丰富的工具和功能,帮助开发者打造出色的移动体验。UE5不仅提升了图形质量,还大幅简化了开发流程,使得开发者能够更专注于游戏设计和用户体验。在移动游戏中,触屏滑动手势是用户与应用互动的主要方式之一。然而,许多开发者在实现这些功能时常常遇到困难。为了填补这一知识空白,本篇文章将详细介绍如何在UE5中实现移动端触屏滑动手势,帮助你从入门到精通,提升你的开发技能。

TxNet 1134

2025华为OD机试真题最新题库 (B+C+D+E+2025A+2025B卷) + 在线OJ在线刷题使用(C++、Java、Python C语言 JS合集)(正在更新2025B卷,目前已收录710道)

2024年,华为目前已经启用D卷,目前D卷和C卷的题目一样一次订阅永久阅读,支持在线刷题,持续更新,有问题随时解答,本专栏题目数量已收录到484道。每篇文章的思路分析都非常详细,题目新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析。

KJ.JK 11万+

简述二进制

1.什么是二进制 二进制简单来说就是用两个不同的符号 0和1来表示的以2为基数的一个计数系统,是一种机器语言,就是计算机可以看懂的(区别一下python,python语言是人工语言,人可以容易理解并看懂的)。 #这是简单的描述,专业的术语可百度等* 2.二进制计数 二进制采用的是位置计数法,其位权是以2为底的幂。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为 【例】:将二进制数据1001.11写成加权系数的形式。 解: 二进制和十六进制,八进制一样,都以二的幂来进位的。 3.二

Lalalalazy的博客 1万+

2ED2410-EM的使用

2ED2410-EM的使用

让你爱上电路设计 970

二进制枚举--最通俗易懂的讲解

二进制:是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二” 子集:是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集。 含有个元素的集合的一切子集的个数为。简单证明一下: 含有0个元素的子集有个, 含有1个元素的子集有个, 含有2个元素的子集有个, ............

sugarbliss 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Face Alignment at 3000 FPS通俗易懂讲解二 LBP局部二进制特征(特征映射)的生成

Face Alignment at 3000 FPS通俗易懂讲解二 LBP局部二进制特征(特征映射)的生成

rongrongyaofeiqi的博客 2354

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Protocol Buffers 全流程通俗讲解

配合反射可自动做日志脱敏。字段编号= 合同条款号,定下来就别改。类型定义= 条款内容,变动必须所有微服务一起升级。protoc= 自动翻译官,让 C++/Java/Python 都读同一本合同。

pumpkin84514的博客 927

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

0018.Pythonfull重点

二进制的逢二进一

我不是斯巴达 219

进制及进制转换详解。原码、反码、移码,补码区别介绍。(通俗易懂)

Ⅰ.进制转换详解。Ⅱ.原码、反码、移码,补码区别介绍。Ⅲ.ASCII和unicode。Ⅳ.输入输出2机制8进制16进制数。(通俗易懂)

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 9817

二进制、十六进制等不同进制的转换

二进制、十六进制等不同进制的转换

天涯雨的博客 1307

Java反序列化攻击通俗讲解

想象一下,你把一只猫放进冰箱(序列化),需要时再拿出来(反序列化)。但黑客偷偷把冰箱里的猫换成了老虎(恶意代码),当你打开冰箱时——砰!老虎跳出来咬你一口!这就是Java反序列化攻击的可怕之处。

weixin_43172311的博客 2394

Integer.bitCount()理解

本文讨论内容基于Jdk1.7 bitCount实现的功能是计算一个(byte,short,char,int统一按照int方法计算)int,long类型的数值在二进制下“1”的数量。 网上关于此方法的解释已经不少,但大多晦涩难懂,我试图将这个问题描述的易于理解。

老齐 2万+

复合文档二进制存储结构通俗讲义

1407

进制转换——用小孩能听懂的话讲

📌。

正在在摸鱼的博客 1473

科普大白话:我是二进制,承包了你整个数字世界的 01 打工人

《二进制:数字世界的底层密码》摘要 二进制作为计算机世界的基石,用最简单的0和1构建了整个数字宇宙。这种逢二进一的计数法起源于中国八卦的阴阳思想,经莱布尼茨系统化后成为计算机的"母语"。其优势在于:1)完美匹配晶体管开关特性;2)超高容错率;3)通过编码组合可表示文字、图像、声音等所有数字内容。从手机APP到航天系统,二进制24小时无休地支撑着现代数字文明,用最简洁的"阴阳"组合演绎着最复杂的数字奇迹。

junecauzhang的专栏 377

CPP-L1备课记录

教孩子CPP

crazy_rays的专栏 1173

嵌入式C语言位操作的几种常见用法

通过巧妙地运用位操作,我成功盘下了这个项目,节省了硬件成本,还赢得了老板欢心,后面我离职了几年,又以技术入股的方式把我请回去,从此踏入更大的坑,算了,血泪史,不说也罢。举个例子,我们常说的“8位单片机”,指的是它的数据总线宽度是8位,也就是一次可以处理8个二进制位的数据。当时,我想尽各种办法优化代码,最后发现,使用位操作可以极大地压缩数据存储空间,提高程序的运行效率。作为一名老单片机工程师,我承认,当年刚入行的时候,最怕的就是看那些密密麻麻的寄存器定义,以及那些让人眼花缭乱的位操作。

无际单片机编程 1455
下一篇: 32位cpu寻址小结(转载)
TypeCool
博客等级 码龄22年 58粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值