原文链接:http://blog.csdn.net/puttytree/article/details/7825709

NumberUtil.h

//
// NumberUtil.h
// MinaCppClient
//
// Created by yang3wei on 7/22/13.
// Copyright (c) 2013 yang3wei. All rights reserved.
// #ifndef __MinaCppClient__NumberUtil__
#define __MinaCppClient__NumberUtil__ #include <string> /**
* htonl 表示 host to network long ,用于将主机 unsigned int 型数据转换成网络字节顺序;
* htons 表示 host to network short ,用于将主机 unsigned short 型数据转换成网络字节顺序;
* ntohl、ntohs 的功能分别与 htonl、htons 相反。
*/ /**
* byte 不是一种新类型,在 C++ 中 byte 被定义的是 unsigned char 类型;
* 但在 C# 里面 byte 被定义的是 unsigned int 类型
*/
typedef unsigned char byte; /**
* int 转 byte
* 方法无返回的优点:做内存管理清爽整洁
* 如果返回值为 int,float,long,double 等简单类型的话,直接返回即可
* 总的来说,这真心是一种很优秀的方法设计模式
*/
void int2bytes(int i, byte* bytes, int size = 4); // byte 转 int
int bytes2int(byte* bytes, int size = 4); #endif /* defined(__MinaCppClient__NumberUtil__) */

NumberUtil.cpp

//
// NumberUtil.cpp
// MinaCppClient
//
// Created by yang3wei on 7/22/13.
// Copyright (c) 2013 yang3wei. All rights reserved.
// #include "NumberUtil.h" void int2bytes(int i, byte* bytes, int size) {
// byte[] bytes = new byte[4];
memset(bytes,0,sizeof(byte) * size);
bytes[0] = (byte) (0xff & i);
bytes[1] = (byte) ((0xff00 & i) >> 8);
bytes[2] = (byte) ((0xff0000 & i) >> 16);
bytes[3] = (byte) ((0xff000000 & i) >> 24);
} int bytes2int(byte* bytes, int size) {
int iRetVal = bytes[0] & 0xFF;
iRetVal |= ((bytes[1] << 8) & 0xFF00);
iRetVal |= ((bytes[2] << 16) & 0xFF0000);
iRetVal |= ((bytes[3] << 24) & 0xFF000000);
return iRetVal;
}

最新文章

  1. String的按值传递,java传参都是传值
  2. ppt 制作海报 导出高分辨率图片
  3. mysql集群之MYSQL CLUSTER
  4. The Producer-Consumer Relationship
  5. HTML中,按钮button与submit区别是什么?
  6. 使用Java进行MD5加密
  7. Win7家庭普通版、家庭高级版、专业版、旗舰版版本差别
  8. leetcode面试准备:Triangle
  9. HBase HFile
  10. Lua语言在Wireshark中使用(转)
  11. SVN关于忽略xcuserdata目录
  12. Mybatis之旅第一篇-初识Mybatis
  13. abaqus的umat在vs中debug调试
  14. MongoDB数据导出
  15. Device Tree碎碎念
  16. zabbix已恢复正常,但是报警信息一直出现,求大佬解答。
  17. P2429 制杖题
  18. 批量压缩文件.net
  19. 【NOIP2017】逛公园 最短路+DP
  20. Java第三阶段学习(二、IO流--------递归,字节流Stream)

热门文章

  1. Max retries exceeded with url
  2. Spring REST实践之Error Handling
  3. android 自定义adapter和线程结合 + ListView中按钮滑动后状态丢失解决办法
  4. Why we need interfaces in Delphi
  5. 内存不足(OutOfMemory)的调试分析
  6. ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
  7. COM组件入门(一)
  8. linux命令备忘
  9. 气泡形提示控件grumble.js
  10. HDU 4941 Magical Forest 【离散化】【map】