C#中byte与short、int、long互相转化

TCP协议中ARQ自动重传的三种实现方式对比(含SACK详解) 本文深入解析TCP协议中ARQ自动重传的三种实现方式,包括停止-等待、回退N步和选择重传协议,特别详细介绍了SACK机制的工作原理和优势。通过对比分析各协议的效率、复杂度和适用场景,为网络通信中的可靠性传输提供了实用的选型指南。 阅读详情

这个是转载别人的博客,转载地址:
http://www.cnblogs.com/pegasus923/archive/2010/10/08/1845866.html

public final static byte[] getBytes(short s, boolean asc) 
{
    byte[] buf = new byte[2];
    if (asc)
        for (int i = buf.length - 1; i >= 0; i--) 
        {
            buf[i] = (byte) (s & 0x00ff);
          s >>= 8;
        }
    else
        for (int i = 0; i < buf.length; i++) 
        {
            buf[i] = (byte) (s & 0x00ff);
          s >>= 8;
        }
    return buf;
}

public final static byte[] getBytes(int s, boolean asc) 
{
    byte[] buf = new byte[4];
    if (asc)
      for (int i = buf.length - 1; i >= 0; i--) 
      {
        buf[i] = (byte) (s & 0x000000ff);
        s >>= 8;
      }
    else
      for (int i = 0; i < buf.length; i++)
      {
        buf[i] = (byte) (s & 0x000000ff);
        s >>= 8;
      }
    return buf;
}

public final static byte[] getBytes(long s, boolean asc) 
{
    byte[] buf = new byte[8];
    if (asc)
      for (int i = buf.length - 1; i >= 0; i--) 
        {
        buf[i] = (byte) (s & 0x00000000000000ff);
        s >>= 8;
      }
    else
      for (int i = 0; i < buf.length; i++) 
        {
        buf[i] = (byte) (s & 0x00000000000000ff);
        s >>= 8;
      }
    return buf;
}

public final static short getShort(byte[] buf, boolean asc) 
{
    if (buf == null) 
    {
      throw new IllegalArgumentException("byte array is null!");
    }
    if (buf.length > 2) 
    {
      throw new IllegalArgumentException("byte array size > 2 !");
    }
    short r = 0;
    if (asc)
      for (int i = buf.length - 1; i >= 0; i--) 
        {
        r <<= 8;
        r |= (buf[i] & 0x00ff);
      }
    else
      for (int i = 0; i < buf.length; i++) 
        {
        r <<= 8;
        r |= (buf[i] & 0x00ff);
      }
    return r;
}

public final static int getInt(byte[] buf, boolean asc) 
{
    if (buf == null) 
    {
      throw new IllegalArgumentException("byte array is null!");
    }
    if (buf.length > 4) 
    {
      throw new IllegalArgumentException("byte array size > 4 !");
    }
    int r = 0;
    if (asc)
      for (int i = buf.length - 1; i >= 0; i--) 
        {
        r <<= 8;
        r |= (buf[i] & 0x000000ff);
      }
    else
      for (int i = 0; i < buf.length; i++) 
        {
        r <<= 8;
        r |= (buf[i] & 0x000000ff);
      }
    return r;
}

public final static long getLong(byte[] buf, boolean asc) 
{
    if (buf == null) 
    {
      throw new IllegalArgumentException("byte array is null!");
    }
    if (buf.length > 8) 
    {
      throw new IllegalArgumentException("byte array size > 8 !");
    }
    long r = 0;
    if (asc)
      for (int i = buf.length - 1; i >= 0; i--) 
        {
        r <<= 8;
        r |= (buf[i] & 0x00000000000000ff);
      }
    else
      for (int i = 0; i < buf.length; i++) 
        {
        r <<= 8;
        r |= (buf[i] & 0x00000000000000ff);
      }
    return r;
}
Labview数据存储与读取——TDMS文件的创建与写入 Labview数据存储与读取——TDMS文件的创建与写入 你好,这是我在自学Labview编写软件过程中使用的一些功能。我在存储采集卡数据时,通过阅读大量他人的程序,发现TDM及TDMS文件十分适合波形数据的记录,TDMS文件比TDM文件在存储动态类型数据时读写速度更快,而且TDMS 文件没有容量限制,适合存储数据量庞大的测试数据。 前言少叙,书归正传 这一篇博客,说明一下如何使用基本的TDMS功能实现数据文件的存储。 所需要的控件如上图所示,在程序框图——编程——文件I\O——TDMS 中,写入TDMS 阅读详情

相关推荐

[仿真实战]FDTD Solutions 8.0:从零搭建薄膜光谱分析模型

本文提供了一份基于FDTD Solutions 8.0的薄膜光谱分析模型从零搭建实战指南。通过详细步骤,手把手教你创建玻璃基底与硅薄膜的几何结构、设置仿真区域与边界条件、配置光源与监视器,并最终计算反射率与透射率光谱。内容涵盖参数扫描与优化,旨在帮助用户快速掌握FDTD仿真在纳米光子学与薄膜光学设计中的核心应用。

defi6farmer的博客 499

C# bytes转long

C# bytes转long

p878934160的博客 1233

Unity半透明物体景深失效?教你用双材质球方案完美解决(附完整Shader代码)

本文深入剖析了Unity中半透明物体导致景深效果失效的根本原因,即半透明物体默认不写入摄像机深度图。针对此问题,文章详细介绍了稳定高效的“双材质球”解决方案,通过为物体附加一个仅写入深度信息的不可见材质,完美修复景深效果,并提供了完整的Shader代码与实现脚本。

weixin_29010003的博客 381

C#short 、ushort、 byte、 byte[]转换分析

1.C#数据类型转换。2.short转byte。3.modbus通信解析。

qq_59062726的博客 6026

通达信源码-主力建仓-AI投研图灵室出品

AI投研图灵室1:=3*SMA((CLOSE-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1)-2*SMA(SMA((CLOSE-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1),15,1);AI投研图灵室2W:=100-100*(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14));AI投研图灵室3:=SMA(SMA(AI投研图灵室2,3,1),3,1);

qq_57222058的博客 4383

UE4-(反射)场景采集之场景采集2D

一、场景采集分为两种:场景采集2D、场景采集立方体 场景采集2D:采集2D图片模式。 操作: 1.选择场景采集2D,是一个摄像机的物体,摆放到场景中。 2.在文件夹空白处创建纹理,一定要注意创建纹理的格式, 纹理分为立方体渲染目标和渲染目标,此处我们使用的是2D模式,所以选择渲染目标(Texture Render Target2D)。创建后重命名为RenderTextue2D。 3.选择场景中刚拖入的 SceneCapture2D 摄像机在细节面板的Scene Capture 将..

Stone的博客 4601

C# 数据类型转化为byte数组

C# 数据类型转化为byte数组 项目当中经常遇到将short 、string、int等类型的数据转换成字节数组,以便将数据以数据流的形式经行缓存、传递的情况(例如MemoryStream),现将常见的转换形式总结一下: 1.short数据与byte数组互转 public byte[] ShortToByte(short value) { return BitConver...

qq_42268230的博客 9832

Java 类与对象 -- Java 语言的类与对象、构造器、static、final、包和 JAR

本篇文章我们将深入了解 Java 语言中的类与对象,探讨构造器、`static`、`final`、包和 JAR 文件。这些概念是面向对象编程的核心,对于理解和掌握 Java 至关重要。

栗筝i的博客 5036

C#中byte[]类型转换为其它类型

我们这里就举byte[]类型和long类型的转换,其它数据类型用BitConverter类以此类推: /// <summary> /// 字节数组转换为long类型 /// </summary> /// <param name="bytes">字节数组</param> /// <returns>long类型<...

629

Scratch全攻略:从入门到实践的编程之旅

Scratch 是一款由麻省理工学院(MIT)开发的图形化编程工具 ,它诞生的初衷是为了让编程教育更加普及,尤其是让孩子们能够轻松接触和学习编程。与传统的基于文本代码的编程方式不同,Scratch 通过将编程指令以图形化的积木形式呈现,极大地降低了编程的门槛,让编程变得如同搭积木一样简单有趣。

邓邓子的博客 1万+

2025美赛E题为农业留出空间(附代码+全保姆教程)Making Room for Agriculture

有机农业的核心在于减少化学投入,促进自然控制和可持续性。变量定义CCC: 作物种群III: 害虫种群PPP: 天然捕食者种群(蝙蝠、鸟类等)BBB: 生物多样性水平(以种类数量表示)SSS: 土壤健康指数(影响植物繁殖与作物生长)EEE: 农业生态系统的整体稳定性。

博客 1495

C# 从 short 转 byte 方法

本文告诉大家多个方法转换 short 和 byte 有简单的也有快的

lindexi 9643

YOLOv8【第十一章:视频追踪与流处理篇·第3节】匈牙利算法(Hungarian Algorithm)与 KM 算法匹配机制详解!

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

**My Coding Family** 443

【C#】数据类型(sbyte,byte,short,ushort,int,uint,long,ulong和char。、、、)...

  C#的数据类型可以分为3类:数值类型,引用类型,指针类型。指针类型仅在不安全代码中使用。   值类型包括简单类型(如字符型,浮点型和整数型等),集合类型和结构型。引用类型包括类类型,接口类型,代表类型和数组类型。   值类型和引用类型的不同之处是值类型的变量值直接包含数据,而引用类型的变量把它们的引用存储在对象中。对于引用类型的变量,完全有可能让两个不同的变量引用同一个对象,这样一...

weixin_30354675的博客 1975

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C#各种类型转换总结

目录 十六进制字符串转byte byte转十六进制字符串 十六进制字符串转short 单精度浮点数float转byte数组 byte数组转单精度浮点数float 将字符串转换成对应的ASSIC码 将ASSIC码转换成对应的字符串 int转byte数组 byte数组转int 十六进制字符串转byte。 例如传递参数"ab",返回的值是171。请注意,传递的字符串的必须为合法字符串,如果传递"abc...

学习记录 1966

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C#基本数据类型

数据类型主要用于指明变量和常量存储值的类型,C#语言是一种强类型语言,要求每个变量都必须指定数据类型。 C# 语言的数据类型分为值类型和引用类型。 值类型包括整型、浮点型、字符型、布尔型、枚举型等;引用类型包括类、接口、数组、委托、字符串等。 从内存存储空间的角度而言,值类型的值是存放到栈中的,每次存取值都会在该内存中操作;引用类型首先会在栈中创建一个引用变量,然后在堆中创建对象本身,再把这个对象所在内存的首地址赋给引用变量。 接下来我们来了解一下 C# 语言中的常用基本数据类型,.

weixin_57771882的博客 1570

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

byte[]与short[]相互转换

byte[]转换成short[] public static short[] toShortArray(byte[] src) { int count = src.length >> 1; short[] dest = new short[count]; for (int i = 0; i < count; i++)...

lei95的博客 7848

Java/C# bytes to long:将时间戳字节数组转成长整型和时间

前言:因为时间戳是从java端传到C#端,通过socket传输,所以java端将长度为13的长整型时间戳转成字节数组(长度为8)进行传输,在C#端接收后,需要将字节数组转成长整型,并转化为时间,方便查看。其中比较容易出错的地方是,C#端字节数组转成长整型,如果用C#中的方法是不行的(bytes转成int64),所以我直接把java的节数组转成长整型的方法,改成C#使用,发现可以正常转换。 一、java long转bytes或bytes转long,如下: 1)long to bytes public.

May-gemini的博客 2454

long类型值与bytes数组互转

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 4641

C#类型转换总结(一)

C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享—— 1. 装箱、拆箱还是别名   许多 C#

细节决定成败 点滴铸就辉煌 824

C#应用——byte[]转short数组、C#调用cmd命令导出数据库

数据转换

qq_42832272的博客 1236

longlong与byte数组互转

最近做通讯,自己写报文协议,收发4字节16进制数。将十进制与16进制转化,还区分有无符号,自己写的程序70多行,发现这位大神写的极为简单,测试半天没有错误,标记一下,待后期再深究。 原文: 参考简书:https://www.jianshu.com/p/0d75db2b3c14 作者:InterestingPDD 最近做一个项目 要传udp包 包里包含很多信息 就是把一些信息用byte表示...

CODE实验室 9378

怎样将一个Long类型的数据转换成字节数组

//先写进去 long n = 1000000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.write(n); //再读出来 byte[] buf = baos.toByteArray();

wdtsyz1的博客 846

如何将就一个long类型的数转化为字节数组

不能直接通过long类型本身的方法进行转化,只能通过输入输出流进行转化 举例如下: long l = 10000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeLong(n); byte[]buf =...

马马也的个人博客 2731

C#.NET 中的类型转换

 C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享——1. 装箱、拆箱还是别名  许多 C#.NE

::打盹的青蛙专栏:: 1415

怎样将short[]数组转换成byte[]数组

  byte[] byteArray = Array.ConvertAll&lt;short, byte&gt;(shortArray, Convert.ToByte);  

weixin_34037173的博客 1658
上一篇: Ubuntu下 tslib安装的方法
下一篇: MFC Dock窗口右上角 关闭按钮 取消
DevilBox
博客等级 码龄12年 36粉丝 78原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值