int 转换成 byte[] (byte数组)

unsigned int x = 1234567;

byte*  intBytes = new byte[4];

//方法一

memcpy(intBytes, &x, sizeof(unsigned int));

unsigned int y1 = intBytes[3] *256*256*256 + intBytes[2] *256*256 + intBytes[1]* 256 + intBytes[0];

//方法二

intBytes[0]   =   (byte)   (x   >>   24);

intBytes[1]   =   (byte)   (x   >>   16);

intBytes[2]   =   (byte)   (x   >>   8);

intBytes[3]   =   (byte)   (x   >>   0);

unsigned int y2 = intBytes[0] *256*256*256 + intBytes[1] *256*256 + intBytes[2]* 256 + intBytes[3];

时间: 2024-10-12 12:44:43

int 转换成 byte[] (byte数组)的相关文章

将整形数字(int)转换成字符串

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include<string.h> void itoa(int n, char *buf) { int count = 0; char nu; char buf2[128] = { 0 }; //核心算法很简单 就是每次取出各位数字然后把数字转存进数组,中间有一个数组匿置的过程 do

java list map转换成二维数组

/** * *@Title: ListToArray *@Description: list列表转换成二维数组 *@Author: Administrator *@Since: 2018年1月7日下午2:01:25 *@param: @param list *@param: @param KeyLenght每行的列数,按最长的计算 *@param: @return *@return Object[][] */ private Object[][] ListToArray(List<Map<St

把一维数组转换成二维数组

有一个一维数组,想把它变成m*n形式的二位数组, $arr = array(....); // 一维数组 $m = ceil(count($arr)/n); $array = array(); for ($i = 0, $j = 0; $i < $m; $i++) { for ($k = 0; $k < n; $k++) { $temp = $arr[$j++]; if($temp) $array[$i][$k] = $temp; } } 把一维数组转换成二维数组

既然float不能表示所有的int_那为什么在类型转换时C++将int转换成float?

摘要: 既然float不能表示所有的int,那为什么在类型转换时C++将int转换成float? 问题: 代码如下: int i = 23; float f = 3.14; if (i == f) // 执行某段代码 编译器会将i转换成float类型,然后比较这两个float的大小,但是float能够表示所有的int吗?为什么没有将int和float转换成double类型进行比较呢? 回答: 在整型数的演变中,当int变成unsigned时,会丢掉负数部分(有趣的是,这样的话,0u < -1就是

怎么使float保留两位小数或多位小数*如何将整数 int 转换成字串 String

5.怎么使float保留两位小数或多位小数* 两种方法: import java.math.*; -- 方法1: float f = 34.232323; BigDecimal b = new BigDecimal(f); float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); // b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数 方法2: float scale

Android中 int 转换成 byte[] 的方法

/** * 将基本数据类型转换为byte数组,以及反向转换的方法 * 只涉及转换操作,对于参数没有进行校验 * 适用范围:RMS操作.网络数据传输 */ public class DataConvert{ /** * 将int类型的数据转换为byte数组 * @param n int数据 * @return 生成的byte数组 */ public static byte[] intToBytes(int n){ String s = String.valueOf(n); return s.get

16进制数据流转换成C语言数组

在开发中经常遇到以下情况,通过一些工具捕获的16进制数据,应用到代码中,比如通过Wireshark抓获的数据包,观察到的程序内存数据. 但是在开发时,不能直接使用这些数据,需要转换如下样子,才可以在代码中使用: 我写了一个小工具,可以将二进制数据流转换成数组,代码如下: // FileNameToArray.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include

C#中如何把int转换成两个字符的string

部门新开了项目,所以一整周的时间都在瞎忙,为什么称瞎忙?所负责的内容,并没有做好,也是一万个心塞啊.... 说一下最近碰到的一些问题. 用到了计时,但是比如定时是一分半钟,可是显示的时候,想让显示为1:30或者01:30,怎么做呢?说一个自己用的,其他的以后补充. 举个栗子: int timer=(int)(100%60);//second string str=timer.ToString().PadLeft(2,'0'); //将int型转换为String类型的,会转换成2位字符串,若位数不

int 转换成 CString(VC2008里有这个问题)

int s = 123; CString str; str.Format("%d",s); 这样就可以了,但是有的会提示这个错误 如果出现这个错误,就改成下面这个就OK了:  str.Format(_T("%d"), s); http://liguo125.blog.51cto.com/1995200/448711