整形变量与字节数组的相互转换

【数据类型与变量】 本文介绍了Java中的常量和变量相关概念。常量分为字符串、整型、浮点型、字符型、布尔型和空常量。Java数据类型分为基本类型(四类八种:byte、short、int、long、float、double、char、boolean)和引用类型。变量是存储可变值的标识符,定义语法为"数据类型 变量名=初始值"。重点讲解了整型变量(int、long、short、byte)和双精度浮点型(double)的使用方法、取值范围及注意事项,包括字节大小、默认类型、初始值限制等 阅读详情

今天读写socket的时候遇到一种转换,要在int型变量和字节数组之间进行转换 {汗~公司定义的数据包}
As is known to all,JAVA里边int是4字节存储的,于是乎想到了用移位操作来实现,同样也可以用移位操作将字节数组还原成int变量。

具体代码如下:
-----------------------------------------------------------------------------

/*
 * Created on 2004-11-5
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package converter;

/**
 * @author NetSniffer
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class IntByteConvertor {
 
 public static byte[] int2Byte(int intValue){
  byte[] b=new byte[4];
  for(int i=0;i<4;i++){
   b[i]=(byte)(intValue>>8*(3-i) & 0xFF);
   //System.out.print(Integer.toBinaryString(b[i])+" ");
   //System.out.print((b[i]& 0xFF)+" ");
  }
  return b;
 }
 public static int byte2Int(byte[] b){
  int intValue=0;
  for(int i=0;i<b.length;i++){
   intValue +=(b[i] & 0xFF)<<(8*(3-i));
   //System.out.print(Integer.toBinaryString(intValue)+" ");
  }
  return intValue;
 }
 public static void main(String[] args) {
  System.out.println(byte2Int(int2Byte(1000)));
 }
}

----------------------------------------------------------------------------------

JAVA里边对于byte变量,如果操作中有int操作数,默认会将byte隐式转换为int变量,而转换成的int变量高24位全部为1, 比如 1000 的四个字节是 0x00H, 0x00H,  0x03H, 0xE8 , 转换后存到字节数组中是完全正确的;
不过逐个打印出来的时候,会隐式转换为int ,如下
0x00000000H , 0x00000000H, 0xFFFFFF03H, 0xFFFFFFE8,  显示出来就是 0 , 0 , 3, -24

接下来,在将byte数组转换为int变量的时候,如果直接用移位操作就会有麻烦,因为高位都是FFFFFF,所以需将隐式转换生成的FFFFFF消掉,有一招就是每个字节和0xFF相与,然后再移位,最后把各步产生的结果相加得到原始的int变量。

int转换为字节数组的我就不细说了,这里把字节数组转换为int的过程列出来

如下所示: 【1000 为例】
============================================================

原字节数组 : 0x00H, 0x00H,  0x03H, 0xE8
进行位运算的时候隐式转换为int : 0x00000000H , 0x00000000H, 0xFFFFFF03H, 0xFFFFFFE8

1.  0x00000000H  与0xFF相与=> 0x00000000H   =>左移24位 =>   0x00000000H 
2.  0x00000000H  与0xFF相与=> 0x00000000H   =>左移16位 =>   0x00000000H 
3.  0xFFFFFF03H 与0xFF相与=> 0x00000003H  => 左移8位 =>    0x00000300H 
4.  0xFFFFFFE8H 与0xFF相与=> 0x000000E8H  => 左移0位 =>    0x000000E8H 

将1,2,3,4 所得结果相加就是我们的int变量了
结果:0x000003E8H ==> 十进制 1000
=====================================================

呵呵,就是这样搞定的!

据说光棍节要到了,还是脱离光棍组织的好 ...  

int类型和byte数组之间的转换 写一个方法,将int类型转换为字节数组,输入任意int类型整型,输出字节数组;写第二个方法,输入字节数组,输出对应int类型数据。 立即下载

相关推荐

BSW: Dcm模块配置--28服务

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。

Forever_Oct的博客 3086

03 数据类型转换

数据类型转换 Java数据类型优先级 低——>高 byte,short,char ——> int ——> long ——>float ——> double 强制转换 高 ——>低 int i = 128; byte b = (byte) i; //内存溢出 System.out.println(i); System.out.println(b); 自动转换 低 ——>高 int i1 = 128; double d = i1; Sys

吃丑橘的瓜的博客 130

华为OD机考双机位C卷 - 补种未成活胡杨 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 补种未成活胡杨(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 2418

050_整形和字节数组转换

1. 位移操作符 1.1. 没有无符号左移 1.2. 无符号右移: >>> 1.3. 有符号左移: << 1.4. 有符号右移: >> 2. 左移规则 2.1. 右边空出来的位用0填补。 2.2. 高位左移溢出则舍弃高位。 3. 右移规则 3.1. 左边空出的位用0或者1填补。正数用0填补, 负数用1填补。 3.2. 低位右移溢出则舍弃该位。 4. Java位移结果是整数。 5. 分析几个右移操作 5.1. 0的有符号右移1位操作 0的补

aihiao的专栏 748

游戏大厂技术护城河——为什么你抄不了原神?

│ │ │ │ ↓ 通过 │ │ │ │。│ │ │ │ ↓ 成功 │ │ │ │。│ │ │ │ ↓ 完成 │ │ │ │。│ │ │ │ ↓ 达标 │ │ │ │。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 71

Sqlserver2012评估期已过问题解决(启动数据库服务报错1705都是同样的问题,数据库过期未激活)

一、背景: 因为之前安装sqlserver2012忘记输入序列号,如今出现评估期已过的问题,前几天忙活半天,才解决,发现网 上叙述都非常凌乱,并且仅仅有大意,有的非常难操作。所以把我操作的过程和大家交流分享: 一定要有序列号的输入。不然会有很多其它的麻烦出现: 二、问题解决: 第一步:进入SQL2012配置工具中的安装中心。 第二步:再进入左側维护选项界面,然后选择选择版本号升级。 ...

堂前燕的博客 3265

JVM系列笔记--字节码与类加载

一、字节码指令 反编译 可使用javap -v className.class来反编译class文件public class Demo3_1 { public static void main(String[] args) { int a = 10; int b = Short.MAX_VALUE + 1; int c = a + b; System.out.println(c); } } Classfile /D:/dow

那股哇的博客 270

基于深度学习的停车位检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

传统的停车位检测方法主要依赖于人工或基于简单图像处理的技术,存在检测速度慢、准确率低、环境适应性差等问题。近年来,随着深度学习技术的快速发展,基于目标检测的停车位检测系统已成为研究的热点。本文基于YOLO(You Only Look Once)系列模型(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8),开发了一个完整的停车位检测系统,支持实时检测、结果可视化以及UI交互界面。本文实现了一个基于深度学习的停车位检测系统,采用YOLO模型在实时视频流中进行高效检测。

YOLO 332

C语言实现多字节与整型数据的相互转换 - (已编译,亲试可用)

1、将多字节(2、4、8字节)转换为整型数据(16、32、64位) (举例:2字节 {0x12, 0x34} → 16位整型 0x1234) (举例:4字节 {0x12, 0x34, 0x56, 0x78} → 32位整型 0x12345678) (举例:8字节 {0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56} → 64位整型 0x1234567890123456)/*************************** 函数名: Ar...

小肥丸 9283

30天入门Python(办公篇)——第34天:pandas - 数据处理与分析利器

摘要 本文介绍了Python数据分析库pandas的核心功能,包括数据结构和基本操作。主要内容涵盖:1) Series和DataFrame两种核心数据结构的创建与使用;2) 多种文件格式的读写方法;3) 数据查看、筛选和清洗技巧;4) 基础统计分析功能;5) 数据透视表和交叉表制作;6) 数据排序与合并等变换操作。文章通过大量代码示例演示了pandas在数据处理各环节的应用,适合作为pandas入门的实践指南,帮助读者快速掌握这一强大工具的基本使用方法。

weixin_42636075的博客 303

matlab 点云泊松盘采样

本文介绍了泊松盘采样算法在三维点云处理中的应用。该算法通过最小间距约束(任意两点距离≥r)和均匀分布特性,生成高质量、均匀分布的点集。文章详细阐述了参数设置(如采样半径、候选点数),并与体素栅格、随机采样等方法进行了对比。代码实现部分展示了MATLAB版本的泊松盘采样算法,包括KD树加速和候选点生成机制。实验结果表明,该方法能有效保持点云特征,适用于点云简化、曲面重建等场景。文中还提供了参数调整建议和不同应用场景下的使用指导。

点云侠的博客 536

字节数组与整数的相互转化

在工作的一些项目中,经常用到字节数组的整数的相互转化,现总结如下: package java.util; /** * 数据工具类 */ public class DataUtil { /** * 将整数转换成字节数组 */ public static byte[] int2ByteArr(int i){ byte[] bytes = new byte[4] ; byt

tianqinglei的博客 6237

YOLOv8【第十二章:数据增强与数据工程篇·第10节】主动学习(Active Learning):如何挑选最有价值的样本进行标注!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 508

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKEL

菜头 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

【c语言进阶】深度剖析整形数据

c语言整数是如何存储的

睿的博客 1235

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

第二章 数据类型和变量

(iv)特殊:根据上述,当一个数写出来默认其为int但是我们又希望它是long时可以在后面加上后缀L/l(最好时加L,不然有时候会辨别不清)(字面值常量要改变类型,经常需要此操作):这里要和C语言区分开,这里的布尔类型与整形不可以兼容,不可以互相转换,两者毫无关联,不可用布尔类型去做整形运算,0/1/非0也不再代表真假(不要惯性思维)(ii)由大到小:由大范围类型变为小范围类型,需要显性转换,,并且可能会有精度丢失(相当于告诉计算机,明知山有虎我偏向虎山行),如果不转会直接报错。

huipeng926的博客 1139

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JAVA的关键字,标识符,注释,变量与常量,以及数据的相互转换

一.关键字 1.定义 被java语言赋予特定含义的单词. 2.特点 全部小写. 3.注意事项 goto和const作为保留字存在. 类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记. 4.java所有关键字与保留字 5.常用关键字 二.标识符 1.定义 就是给类,接口,方法,变量等起名字的字符序列 2.组成规则 英文大小写字母(字符统称–>中英文皆可,强...

syf_519的博客 413

拾遗——demo2整形和字符字节转换

# id是用来查看内存对象的内存地址的n1=123n2=123print(id(n1))print(id(n2))n3=1234n4=1234print(id(n3))print(id(n4))# 这时候我们会发现,不同的变量,值一样。那么他的内存中的地址是一样的# -5~257# 对象的内存地址=id(对象或者对象的变量名) (问题暂留·····) 每次用...

weixin_34186950的博客 142

Java 数据类型与变量

在 Java 中数据类型主要分为两类:基本数据类型和引用数据类型

优快云_queen_wang的博客 629

C# double float int string 与 byte数组 相互转化

C# double float int string 与 byte数组 相互转化 在做通信编程的时候,数据发送多采用串行发送方法,实际处理的时候多是以字节为单位进行处理的。在C/C++中 多字节变量与Byte进行转化时候比较方便 采用UNION即可 废话少说看示例: typedef union { double data_df; byte data_b[8]; }DoubleYByte;...

tigertianx的专栏 3524

Java数据类型与变量

本文摘要介绍了Java编程基础中的常量和变量相关内容。主要内容包括:1.字面常量的定义及分类(字符串、整型、浮点数等6种);2.数据类型的分类,重点介绍8种基本数据类型及其内存占用和包装类;3.变量的定义、语法格式和8种变量类型的详细说明;4.类型转换(自动/强制)规则和注意事项;5.类型提升机制,特别是字节类型运算时的自动提升特性。文章通过具体代码示例阐述了各知识点的应用场景和注意事项,为Java初学者提供了清晰的基础概念框架。

2301_79378046的博客 1692

qt5中字符串转字符串数组_Qt中 QString 和int, char等的“相互”转换

longa=63;QStrings=QString::number(a,10);//s=="63"QStringt=QString::number(a,16).toUpper();//t=="3F"(解释,变量a为int型或者float,double。10和16为进制) toUpper是大写2.使用longa=63;QStri...

weixin_28911533的博客 4231

【c语言进阶】整形数据存储

【c语言进阶】深度剖析整形数据在内存中的存储,由浅入深,通俗易懂,确定不来看看?

睿的博客 594

指针类型的强制转换

我的改变:void和任何其他类型的指针之间可以相互转换。 int a = 1; int *p = &a; float p1 = (float)p; 则p和p1的值都是&a,但是p是将&a地址中的值按照int型变量进行解释,而p1则是将&a地址中的值按照float型变量进行解释。 指针也是一个变量,它自己占据一个4个字节的地址空间(由于程序的寻址空间是2^32次方,即...

qq_41624617的博客 9424

Delphi 整型存四个字节数,整型字节数组相互转换

有时候业务为了节省字段需要用到一个 整型 存四个值,方法如下。

重楼的博客 451

变量&&进制转换

变量和类型 Integer Long 包装类 long num = 10L;//10L表示long类型常量 双精度浮点型变量 double a = 1.1; —> a*a = 1.21000000000000002 //IEEE规则 比较双精度浮点型变量大小 if(a-b < 0.00001 && a-b > -0.00001) 单精度浮点型变量 float a...

weixin_41552254的博客 417
上一篇: Java 的JDBC 数据库连接池实现方法
下一篇: VC++6.0中内存泄漏检测
皮鲁
博客等级 码龄23年 44粉丝 73原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值