C 數值傳遞之轉換追蹤

2021-06-19 05:11:31 字數 1385 閱讀 1368

源型別目標型別

string

ushort

ushort

byte

byte

ushort

1.    數值傳遞過程描述

軟體a的串列埠,根據接收到的指令,從控制項獲取數值,傳送到串列埠,進而傳遞給軟體b;

軟體b的串列埠,把接收到的從軟體a串列埠傳送的數值,顯示到軟體b的控制項上。

這裡的資料型別有:軟體a、b控制項的數值均為string,其所代表的引數值為ushort,串列埠傳輸的資料是byte陣列。

因此,整個傳輸轉換可以歸結為:

string->ushort->byte->ushort->string

在軟體b把接收byte顯示時,可以考慮直接轉為string,即:byte->string

2.    型別轉換函式

1)string轉ushort

ushort mushort = 256;

mushort = convert.touint16(textbox1.text);

button1.text = mushort.tostring();

備註:ushort與uinit16均表示無符號16位整型,屬相同型別,故通用。

2)ushort轉byte2)ushort轉byte

ushort mushort = 12337;	

byte bytes = bitconverter.getbytes(mushort);

3)byte轉ushort

mushort = bitconverter.touint16(bytes,0);
4)ushort轉string

button1.text = mushort.tostring();
5)byte轉string

encoding encod = encoding.utf8;

button2.text = encod.getstring(bytes);

備註:此處直接將byte[i]轉為對應的ascii字元,顯示到控制項上。

6)string直接轉byte

利用bitconverter.getbytes()可以將幾乎所有其他型別數值轉為byte。此處的string中每個字元對應的ascii碼將存入byte[i]。

C 數值計算 轉換

今天再做到計算數值百分比的時候,剛開始試了幾個都是不行 int num1 10,num2 8 double percent num2 num1 int num1 10,num2 8 double percent double num2 num1 這兩個的結果都是 0,這個轉了怎麼還是不行。在查詢過之...

C 函式引數 值傳遞與引用傳遞

以前我們在c語言中函式引數傳遞過程中,如果我們想要讓當a函式作用域中的變數經過b函式處理之後的數值仍然在a函式中生效,這個時候函式引數的傳遞時需要引用方式去傳遞,方式如下 include 函式引數為指標,通過修改指標裡面的內容達到對main中b變數的修改 void func int a int ma...

C 學習014函式值傳遞和位址傳遞

當我們給乙個函式傳引數的時候,可以直接值傳入函式,也給可以把乙個位址傳入函式 區別就是乙個本身不被改變,而另一本身也在改變,在開發時候都會用到,這裡做下記錄 include using namespace std class test void setnum int a int getnum pri...