首页
学习
活动
专区
圈层
工具
发布

DWORD WORD到INT的转换

最近在做一个有关TCP/TP通信的消息解析,涉及到了这方面的转换,记录一下。 首先,如果是在网络传输、消息解析的情况下,要注意一下网络传送使用的是大端还是小端模式,这影响到我们的高低位的传输顺序。...无符号双字节整形(字,16位)   DWORD:无符号四字节整形 (双字,32位) Byte:8位 ---- 解析方式   采用Java位操作来实现(采用大端方式,故先传递高位,则接收方低位为高) //转换...DWORD到整型数据 private int DWORDtoInt(byte[] sourceArr,int start){ //len=4,inArr为获取到的4位Byte数组...WORD到整形数据 private int WORDtoInt(byte[] sourceArr,int start){ //len=2,intArr为获取到的2为Byte数组...,相信大家都比较熟悉,但我还是要说明(啰嗦)一下,java里int型是4个字节,即32位,用二进制表示java里的1就是000……0001,这些都是有符号的数,也就是最高位代表符号位,也就是32位能表示的最大整数是

3.9K10

QByteArray与char、int、float(及其数组)、string之间的互相转化

进行处理,原来只用到QByteArray转换成 char* 类型,其它的转换还没搞过,一弄发现还是有些门道,为了以后不再继续造轮子,就先写出来,标记一下。...2.QByteArray与char*的转换 2.1 QByteArray 转 char* 方式1 传统方式data()和size()函数 (方便) QByteArray array(10, 'Q');/...(), buf, sizeof(buf));//copy数据 3.QByteArray与int 以及int[] 的转换 3.1. int 与 QByteArray 互转 [1] int 转 QByteArray...(intVar); array.resize(len_intVar); //转换 int[] -> QByteArray memcpy(array.data(), &intVar, len_intVar...以及float[] 的转换 其实完全可以参考第3节,int的用法. 4.1. float[] 与 QByteArray 互转 [1] float[] 转 QByteArray // float[] 转

2.6K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    int8_t、int16_t、int32_t转换

    大家好,又见面了,我是你们的朋友全栈君 文件中有四个字符 abcd 以int32_t读入只有1个数: 1684234849 转为二进制:1100100011000110110001001100001...每8位分隔(最前面补了个0):01100100、01100011、01100010、01100001 转十进制:100、99、98、97,即 dcba 可以看到第一个字符在最低位 int8_t(1684234849...) 截取最低8位,得到97,即 a int8_t(1684234849>>8) 向右移动8位后截取最低8位,得到98,即 b 转int16_t 同理。...反之,如果将int32_t数字写入文件:1684234849 以int8_t读出,会依次读到97、98、99、100,即abcd int8_t 还原为int32_t: int32_t(int32_t(100...) int32_t(99) int32_t(98) int32_t(97)) 结果为1684234849 发布者:全栈程序员栈长,转载请注明出处:https

    3.4K20

    如何将int类型转换为char_int类型转换成char类型

    大家好,又见面了,我是你们的朋友全栈君。 近来面试遇到一个问题,通过控制台输入一个12位的数字,然后进行一些计算,然后被困在如何把char类型的数字转换成int类型。通过搜索,找到两个解决办法。...1、把char型转换成int类型 for(int i = 0;i<str.length();i++) { char temp_char = str.charAt(i); //把字符转换成数字方法一...int temp_int = temp_char-'0'; //把字符转换成数字方法二 int temp_int = Integer.parseInt(String.valueOf...第二种办法:把字符再转成字符串,然后再强制转换成int型。...char temp_char = str.charAt(i); //把字符转换成数字方法一 int temp_int = temp_char-'0'; //把字符转换成数字方法二

    3.9K20
    领券