类型转换(1)— 隐式转换

谷歌(Google) Pixel 8/9 Pro(xl)如何获取 root 权限 谷歌(Google)Pixel8/9Pro(xl)等系列手机破解后,会在你的init_boot.img同路径生成一个magisk_patched.img,把这个文件拷贝到adb目录下,稍后还得把它刷回手机,这样手机才能获得Root权限,因为安卓14、15以后的内核结构调整,和Pixel7及以下的6、5、4、3、2等系列手机破解稍微不一致。因为ROOT权限的获取,需要使用ROM中的内核文件,个人强烈建议在官网下载ROM,直接刷最新版,其他地方的ROM如果没有校验码,请自行斟酌是否使用。 阅读详情

1、发生隐式转换的情况

  • 混合类型表达式中,转换为相同的类型
    int ival = 2;
    double dval = 2.1;
    ival >= dval;  //int型转换为double型

  • 条件表达式转换为bool类型
    if(ival)      //int型转换为bool型
    {
      //body
    }

  • 初始化或赋值某个变量时,转换为给变量类型
    int ival = 3.14;  //3.14 convert to int 3
    int *p; p = 0;    //int 0 convert to pointer null

2、算术转换规则

(1)有符号无符号类型之间的转换:这类转换的本质依赖于机器

  • short和int表达式,short转为int;
  • 如果int型足够表示所有unsigned short型的值,则将unsigned short转换为int,否则将两个操作数均转换为unsigned int 型。如short型用半字表示,int型用一个字表示,则所有unsigned short值都包含在int内,则unsigned short转换为int;
  • 如果long型足够表示所有unsigned int型的值,则将unsigned int转换为long,否则将两个操作数均转换为unsigned long 型;
  • signed和unsigned的表达式,signed转换为unsigned。但是当signed类型恰好存储的是负数时,将产生意料之外的后果。如
    signed val = -1;
    unsigned nval = 2;
    if(nval >= val){
    	cout<<"ok"<<endl;
    }else{
    	cout<<"error"<<endl;
    }

    输出结果是error。原因是val=-1,转化成unsigned型的结果是该负数对该类型取值个数求模的值,所以val转换为unsigned型后为255。

(2)整型提升:最简单的一种转换

对于所有比int小的整型,包括char、signed char、unsigned char、short和unsigned short,如果该类型的所有可能的值都能包容在int内,他们都会被提升为int型,否则它们将被提升为unsigned int。

          考虑,unsigned short 类型是两个字节。unsigned类型是四个字节,long在32位机上也是四个字节。则下边的代码运行结果是什么?输出结果见注释。

     unsigned short us1 = 65534;
     unsigned short us2 = 2;
     unsigned uint = us1+us2;
     cout<<"uint =  "<<uint<<endl;                      //ok,uint = 65536
     cout<<us1<<" + "<<us2<<" = "<<us1+us2<<endl;       //ok,65534 + 2 = 65536
         
    unsigned  us1 = 4294967294;
    unsigned  us2 = 3;
    double ul = us1+us2;
    cout<<"uint =  "<<ul<<endl;				//u1=1
    cout<<us1<<" + "<<us2<<" = "<<us1+us2<<endl;	//us1+us2=1

(3)由标准库类型定义的转换:类类型可以定义由编译器自动执行的数据转换。
string s;
while(cin>>s);
上边的例子,while循环条件应为bool类型值,但cin>>s返回的是istream类型的值,将istream类型值转换为bool类型意味着要检验流的状态。

(4)其他隐式转换

指针转换,转换为bool类型,算术类型与bool类型的转换,与枚举类型的转换,转换为const对象。

【数据集】全球首个10米分辨率精细分类土地覆盖数据集GLC_FCS10 阅读详情

相关推荐

细说VLAN之untag和tag

一、拓扑图 先给出上面拓扑图的结论,后面再详细讲解: 结论:只有PC1与PC4之间能相互通信,除此之外,所有PC之间均不能通信,比如PC1与PC3不能建立通信。 针对Ping命令的一个知识: 要想ping通某台主机,必须满足两个条件: 1,源主机的ICMP请求包必须能达到目的主机。 2,目的主机的ICMP应答包必须能回到源主机。 二、理论基础 端口的出...

NoobMaster的博客 3万+

unsigned short int与short int转化问题和unsigned int与int相加问题

unsigned short int与short int转化问题和unsigned int与int相加问题1、unsigned short int与short int转化问题unsigned short int a=65535转化为short int型是多少呢?unsigned short int的字节数为2,取值范围是0到2的16次方减1,即 0~65535   int的字节数也为2,取值范围是...

仰望月空的博客 2万+

基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计与实现(附源码、仿真与计算书)

本文详细介绍了基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计方案。该设计利用STM32的高分辨率定时器(HRTIM)实现精确PWM控制,支持Buck、Boost和Buck-Boost三种工作模式自动切换,具备双向能量流动能力。通过PSIM仿真和Mathcad计算书进行参数优化,实测效率达95.8%,适用于新能源系统和电池管理等场景。

www00的博客 525

从一种数据类型到另一种数据类型的转换

当短整型强制转换为无符号的短整型的时候,字节位不变 // 1020.1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include typedef unsigned char *byte_pointer; void show_bytes(byte_pointer start,int len) { int i; for(i=0;

linxizi0622的博客 2185

保姆级教程:用Unity为麒麟系统打包Linux应用(含路径权限全攻略)

本文提供了一份详细的Unity跨平台开发指南,重点介绍如何在麒麟系统上打包和部署Linux应用。从开发环境配置、路径权限处理到性能优化和常见问题解决,全面解析了Unity项目在国产操作系统上的适配流程,帮助开发者高效完成跨平台应用开发。

weixin_28692867的博客 504

告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题

本文详细介绍了如何使用MATLAB仿真AFDM波形,解决高铁和无人机通信中的时变信道难题。通过仿射变换技术,AFDM在多普勒频移严重的场景下表现优异,显著提升通信质量。文章包含参数配置、波形生成、性能对比等实战内容,适合通信工程师和研究人员参考。

weixin_27014595的博客 318

2.2.7 强制类型转换

1. 强制类型转换 1.1 short -> unsigned short 1.2 int -> short 1.3 short -> int 1.4 unsigned short -> unsigned int

qq_26553393的博客 879

避开这些坑!晶圆封装中Wire Bonding(引线键合)的5种常见不良与实战调试心得

本文深入探讨晶圆封装中Wire Bonding(引线键合)的5种常见不良现象,包括Wire Offset、BSOB不良、球径/球厚异常、弧度不良和IMC问题。通过实际案例和参数优化方案,帮助工程师提升封装质量和可靠性,特别适用于半导体封装领域的专业人士。

weixin_33672109的博客 523

有符号整型数据以无符号整型数据输出时的变化(以short[int]到unsigned short[int]转换为例)

有符号短整型数**i=-1**以二进制补码形式存放,即1000000000000001,以“%hd"(有符号短整型)输出时仍为-1;以-1的补码1000000000000001求其原码为1111111111111111,当其以"%hu"(无符号短整型)输出时,计算机认为其原码的最高位为数据 位,所以其值为(2^16)-1=65535。 同理,j=32767以“%hd"输出时为原值,以j+1,...

RogerFedererGO的博客 3366

zabbix5+dify+ollama+deepseek+企业微信 本地部署实现故障智能分析

zabbix5告警信息deepseek自动分析

slc14211421的专栏 3072

《用 AI 赋能医药科研创新》目录(持续更新)

本专栏旨在指导医学科研和药物研发人员运用AI技术提升研究效率。内容包括:利用AI分析文献、识别研究热点、自动生成研究草稿;在新药研发中,通过AI优化临床方案设计、受试者筛选等环节;介绍AI理论基础如大语言模型、提示词工程学及智能体技术发展历程。专栏采用5000-9000字的长文形式,系统讲解AI在医药研发各环节的应用方法,帮助研究者缩短周期、降低成本,推动医药研发进入智能化新阶段。

MD Code 498

类型转换

1、所有比int型小的数据类型(包括char,signed char,unsigned char,short,signed short,unsigned short)转换为int型。如果转换后的数据会超出int型所能表示的范围的话,则转换为unsigned int型; 2、bool型转化为int型时,false转化为0,true转换为1;反过来所有的整数类型转化为bool时,0转化为fals

weiyidemaomao的专栏 1101

前端技能树,面试复习第 54 天—— 手写代码:情景题

前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...

前端进阶之路 | 中大厂、外企、国企内推 | 面试培训 | 简历修改 986

C#的类型转换(1)之隐式和显式转换

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 {     class Program     {         static 

小勺挖泰山的博客 708

深度学习工具包 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")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

conversion类型转换1(隐式转换)----C++学习之路

1.隐式转换: 从概念上来说,隐式转换就是编译器帮你转换的,你看不见的。 例子: int a = 3.54 + 4;这个例子很明显a=7。但是从类型的转换顺序来看,可能与自己想的不太一样。 当在表达式中,含有int与double,那么int会转化成double类型,例子中的4就会转换成doulb类型,得到结果7.54这个doulbe类型的值。 但是,a的类型是不能改变的,所以double

qq_29003347的博客 974

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

QD1-P45 JS 类型转换(2)隐式转换

介绍 JavaScript 隐式类型转换

qq_38641599的博客 452

类型转换,显式转换,隐式转换,a == 1 && a == 2 && a == 3 输出 true

隐式转换规则

qq_44307861的博客 487

C++ primer学习之类型转换(1) 隐式转换

隐式转化 先来看下面这条表达式,它的目的是将ival初始化为6: int ival=3.541+3; //编译器可能会警告该运算损失了精度 加法的两个运算对象类型不同,3.541的类型是double,3的类型是int。C++语言不会直接将两个不同类型的相加,而是根据类型转换规则设法将运算对象的类型统一后再求值

zyhmz的博客 526

Java核心知识点1-java和c++区别、隐式和显示类型转换

s+1会自动转为int型,将int型直接赋值给short型会报错。1.隐式:从存储范围小的类型到存储范围大的类型。2.显示:从存储范围大的类型到存储范围小的类型。或者s+=1,自动进行强制类型转换。该类型转换很可能存在精度损失。

weixin_63541561的博客 1067

FlinkSQL类型转换问题

报错原因,Flink1.17.1,FlinkSQL不支持INT和VARCHAR类型的隐式转换,如果需要可以使用 CAST 函数将类型统一。例如,将 VARCHAR 类型转换为 INT,或者将 INT 类型转换为 VARCHAR。

在搭建Flink实时数仓,欢迎交流~ 707

javaScript中类型转换相关知识记录

本文通过看到面试题计算"1"+2-"1"的结果,记录一下相关的知识点。隐式类型转换:JavaScript 会根据上下文自动转换类型,主要体现在运算符作用下(如等)。显式类型转换:通过内置函数如String()Number()Boolean()等手动进行类型转换。

weixin_47529062的博客 1059

字符串0转换bool_javascript 隐式转换

你有没有在面试中遇到特别奇葩的js隐形转换的面试题,第一反应是怎么会是这样呢?难以自信,js到底是怎么去计算得到结果,你是否有深入去了解其原理呢?下面将深入讲解其实现原理。其实这篇文章初稿三个月前就写好了,在我读一些源码库时,遇到了这些基础知识,想归档整理下,就有了这篇文章。由于一直忙没时间整理,最近看到了这个比较热的题,决定把这篇文章整理下。```const a = { i: 1, toSt...

weixin_35713375的博客 955

【JavaScript中的类型转换】

【JavaScript中的类型转换】 字符串转换为数字的方法 字符串转换为数字的方法可以分为两种,一个是显式转换,一种是隐式转换。 显式转换是通过函数的形式,将字符串转换成数组的形式; 隐式转换则是通过运算符的方式将字符串转换成数字的形式。 显式转换 在显式转换中,有三个函数可以把字符串转换为数值:Nu

魔术师 1199

c++深入之类型转换

类型转换就是一些操作符要求操作数具有特定的类型。 分为两类隐式转换和显式转换 隐式类型转换 能够自动发生的,不被程序员所操作就能发生。 int x=1+0.5; 这时候cout就不会输出1.5吧,输出的x是1,这时候就发生了隐式类型转换,转换成为了整型。 显示类型转换 由程序员自己设置转换啥,自己操纵转换结果。 ...

kxlalala的博客 488

PostgreSQL 自动(隐式)类型转换,解决类型不匹配报错问题

前言: 最近公司开始大批量的去Oracle转用pg,但是大家都知道pg数据库是个强类型的数据库,数据类型不匹配赋值和比较都会报错,这时候首先要考虑的就是数据结构设计的是否合理,优先应该使自己的表结构符合SQL规范。那么如果确实因为不可抗力的因素必须要使用不同类型的值去比较的话怎么办呢?下面给大家介绍两种解决办法。 第一种解决办法:函数 熟悉PG数据库的朋友应该都清楚要想解决类型不匹配的问题有一个比较简单地办法,那就是用PG的函数去进行类型的强转,例如我们有表a和表b,表a有int8类型的字段a1 ,表

qq_43458533的博客 1万+

java自动类型转换与强制类型转换

基本数据类型从小到大排序 byte->short->int->long->float->double char->int->long->float->double 自动类型转换(数据大小由小到大) byte a = 10 ; short b = a ;//10 int c = b ;//10 float d = c ;//10 强制类型转换(数据大小由大到小) int a = (int) 10.0; byte b = (byte) 9.

qq_43659178的博客 221

C语言隐式转换的陷阱

C语言隐式转换的陷阱 当使用unsigned类型和signed类型进行运算时,有符号的类型会自动转换为unsigned,这在进行条件判断的时候结果会让人匪夷所思。 比如下面的例子: int main(void) { unsigned int size = 10; if(size > -1) printf("AAA"); else printf("BB"); } 看的快了会认为输出AAA,但是这个结果是输出BB,因为-1会自动转换为unsigned,转换后比size=10要大。

qq_41829492的博客 737
上一篇: 国外程序员推荐:每个程序员都应读的书
下一篇: 中国人为何宁花4000元买手机,不花6元买游戏
echonupt
博客等级 码龄15年 5粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值