怎麼把Long或Double型別的數字轉換成位元組陣列

2022-03-15 18:38:44 字數 3657 閱讀 3124

1樓:牛青淡浩皛

以下是int轉byte陣列,以及byte陣列轉int的方法:

int對應4個位元組分別為:

byte

intbytes

=new

byte[4];

intbytes[0]

=(byte)

(x>>

24);

intbytes[1]

=(byte)

(x>>

16);

intbytes[2]

=(byte)

(x>>

8);intbytes[3]

=(byte)

(x>>

0);而對應從位元組到int,b3對應上面的intbytes[0]:

public

static

intmakeint(byte

b3,byte

b2,byte

b1,byte

b0)轉成long

和double

也是用移位吧。。

2樓:匿名使用者

char *ltoa(long value,char *string,int radix);

value ----------------- 要轉換的數值string ----------------- 轉換後指向字串的指標

radix ----------------- 進位制sprintf(str, "%f", 3.1415926);

3樓:俏巴e族

double a=2.2;

char arr =(char)a;

vb 中如何將long型陣列轉化為byte型陣列

4樓:匿名使用者

將long型別轉換成byte位元組型別陣列及反轉option explicit

private declare sub copymemory lib "kernel32" alias "rtlmovememory" (destination as any, source as any, byval length as long)

dim buffer(3) as byteprivate sub lngtobin_click()dim i as integer

dim hexdata as stringdim a as long

a = val(text1)

copymemory buffer(0), a, 4for i = 0 to ubound(buffer)debug.print buffer(i)next

end sub

private sub bintolng_click()dim sinstr as string

dim sinsj as long

dim i as integer

copymemory byval varptr(sinsj), byval varptr(buffer(0)), 4

text2 = sinsj

end sub

private sub form_load()text1 = ""

text2 = ""

end sub

5樓:翅膀的初衷

不知道你轉成byte幹什麼,long如果大於255是不能直接轉換的,你可以通過序列化轉換成byte陣列

6樓:

這是msdn 的例子:

dim adouble as doubledim abyte as byte

adouble = 125.5678

' the following line of code sets abyte to 126.

abyte = cbyte(adouble)

c語言中如何將double型資料轉換為陣列?

7樓:匿名使用者

思路是:

先將double型的數字整數部分變為整型數字一一取到陣列中去(用迴圈整除可以做到,比如double i=123.456,就可以先把整數部分用j=(int)i強制型別轉換取出放入整型變數j中,再依次取到陣列a中

(a[k++]=i%10;i/=10;)

這兩句語句就可以做到(不過數字是倒序的,最後輸出時要注意)。

再看小數部分,同理,但不用除法,而用乘法,先去除整數部分(j=j-(int)j;)

再將小數部分不斷的乘10取整,取一位去除一位,存入另一陣列:

l=(int)(j*10);

b[k++]=l;

j=j*10-l;...直到j*10==0為止這樣就可以把j中的數按位取到了兩個陣列中,接下去只要將兩陣列合併到c陣列中去,或者依次輸出整數部分和小數部分,中間別忘加小數點,輸出成字元在c語言裡可以這樣:

printf("%c",a[i]+'0');

printf(".");

printf("%c",b[i]+'0');

以上就是我的演算法,請高手看了不要笑話,希望能給樓主帶來啟發。

8樓:匿名使用者

樓上的思路基本正確。但事實上vc++中已經有整合該運算的函式。分別是atof 和_pcvt.

#include

1、atof()

該函式將數字字串轉化為浮點型數值。原型如下:

double atof(const char *)const char *是要轉化的數字字串,返回的值為浮點數值。

2、_gcvt()

該函式跟atof()正好相反,用來把數值轉化為數字字串。原型如下:

char *_gcvt(double,int ,char*)引數意義如下:

double:被轉換資料。

int:數字字串長度。(通常可以是char*長度。)char*:轉換後的數字字串。

例:我們要把3.14換成字串。

#include

char a[5]; /*注意:記憶體空間要比3.14的數位大*/_gcvt(3.14,4,a);

那麼在a裡面,a[1]='3',a[2]='.',a[3]='1',a[4]='4' ,a[5]='\0';

這就是你想要的結果。

但是在char裡面儲存的是字元而不是數字。

如: '0'這個字元不等於0,而是48。『1』是49。。

也就是每個字元-48就可得其值。

剩餘的轉化過程就請你自己編寫。非常簡單。

j**ascript中如何將獲得的整型數值轉換為位元組陣列

9樓:

function value2bytes(str)len /= 2;

var hexa = new array();

for(var i=0; i

在c#中怎麼把ulong型別轉換成byte陣列

10樓:不出窩的小蜜蜂

ulong ul=1;

byte bt=0;

bt = convert.tobyte(ul);

11樓:超大蒲公英

如果你是在網路上傳輸使用,或是序列化。可以這樣寫。

public byte tobytes(ulong a)

請問在或EXCEL中怎麼把數字或符號放到字母的右上角

在excel中沒有這個功能,可以在word中實現,方法有 1 需要在右上角輸入數字或符號時,按一下組合鍵ctrl shift 輸入完成後再按一次恢復正常 2 需要在右上角輸入數字或符號時,按一下ctrl d組合鍵,字型選項卡下的 上標 前的核取方塊選中,然後輸入,輸入完成後再同樣操作,將 上標 前的...

怎麼把中的字型變大或變鋅,怎麼把word中的字型變大或變小啊?

直接在工具欄中選擇不同的字號就行了 望採納,謝謝 選中文字後,在工具欄開始選單下字型框中設定,也可單擊右鍵,選擇字型,然後根據自己的需要設定 在工具欄開始選單下字型框中設定,也可單擊右鍵 字型,然後根據自己的需要設定 你好,word設定字型大小可以直接在開始頁面內改的,如截圖哦 使用組合鍵ctrl ...

怎麼把假分數化成帶分數或整數

假分來數化成帶 分數自或整數需要注意以下問題 1 假分數化成整數或者帶分數時,假分數的分子除以分母,能整除的,所得的商就是整數 2 假分數化成整數或者帶分數時,當不能整除時,所得的商就是帶分數的整數部分,餘數是分數部分的分子,分母不變。假分數化成帶分數是假分數分子除以分母能整除的所得的商就是整數部分...