C# 左移右移在資料型別轉換中的使用
關於如何將byte資料轉換為其他型別如uint或ushort型別,使用如下:
(注意大端小端)
- byte轉ushort 左移
byte[] buffer = { 0x05, 0x01 };
ushort number= (ushort)(((buffer [0] & 0xFF) << 8) | (buffer [1] & 0xFF));
- byte轉ushort BitConverter
byte[] buffer = { 0x01, 0x02 };
Array.Reverse(buffer);
ushort methodID = BitConverter.ToUInt16(buffer, 0);
//以上效果等同於左移使用
//用Converter可能需要反轉陣列,才能正確獲取值,具體情況需要你驗證。
- byte轉uint 左移
byte[] buffer = { 0x05, 0x01, 0x03, 0x04 };
uint number = (uint)(((buffer [0] & 0xFF) << 24) | (buffer [1] & 0xFF) << 16) | (buffer [2] & 0xFF) << 8) | (buffer [3] & 0xFF));
- ushort 轉byte 右移
ushort number;
byte[] buffer;
buffer[0] = (byte)((number >> 8) & 0xFF);
buffer[1] = (byte)((number >> 0) & 0xFF);
- uint 轉byte 右移
uint number;
byte[] buffer;
buffer[0] = (byte)((number >> 24) & 0xFF);
buffer[1] = (byte)((number >> 16) & 0xFF);
buffer[2] = (byte)((number >> 8) & 0xFF);
buffer[3] = (byte)((number >> 0) & 0xFF);
相關文章
- C# 泛型中的資料型別判定與轉換C#泛型資料型別
- SQL資料型別和C#資料型別間的轉換SQL資料型別C#
- C#資料型別及其轉換詳解C#資料型別
- 淺談C#中的資料型別轉換與物件複製C#資料型別物件
- 資料型別,型別轉換資料型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- 資料型別的轉換資料型別
- 【型別轉換】使用c#實現簡易的型別轉換(Emit,Expression,反射)型別C#MITExpress反射
- ABAP中Char型別資料轉換成Decimal型別型別Decimal
- 資料型別轉換資料型別
- Java的左移和右移運算子Java
- JS資料型別的轉換JS資料型別
- Qt 資料型別的轉換QT資料型別
- JS在if中的強制型別轉換JS型別
- Java資料型別及型別轉換Java資料型別
- ORACLE中的隱式資料型別轉換(一)Oracle資料型別
- 3. php資料型別、資料型別轉換PHP資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- javascript資料型別轉換JavaScript資料型別
- 避免資料型別轉換資料型別
- 資料型別轉換圖資料型別
- oracle 資料型別轉換Oracle資料型別
- JS資料型別轉換JS資料型別
- VC常用資料型別使用轉換詳解 (轉)資料型別
- VC常用資料型別使用轉換詳解資料型別
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- 資料型別的隱式轉換資料型別
- 將sql中的money轉化為c#中的資料型別SQLC#資料型別
- 瞭解下C# 型別轉換C#型別
- C++中的向上型別轉換和向下型別轉換C++型別
- 2、java資料型別轉換Java資料型別
- JavaScript 基本資料型別轉換JavaScript資料型別
- js parseInt()資料型別轉換JS資料型別
- python資料型別轉換Python資料型別
- C++基本資料型別及型別轉換C++資料型別
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別