2011-05-05 123 views
0

我需要象下面C#功能:輸入= INT十進制值,輸出=字節的十六進制值

private byte GetByte(int decValue) 
{ 
    //convert decValue to byte 
} 

實施例的方法包括:如果我給10 ..功能shud返回0X0A..wic shud在字節格式...

我知道它的簡單...但我不能讓我的頭解決它......

應用WIC我的工作有一個RFID閱讀器...整型值標籤的頁面(扇區)編號,由用戶指定......閱讀器手冊明確指出,我們必須通過字節格式發送值(0x0A) serialport ...「」發送一個'R'(= 0x52)命令給閱讀器從標籤的內存中讀取頁面0-3:0x52 0x00「」我需要以字節格式發送0x0A ...但是我不能問客戶端學習十六進制n然後告訴他們輸入0x0A而不是10我可以嗎?

我一個功能WIC給串「的0x0A」 ...但我希望它以字節格式....

+3

我不明白。 '(byte)0x0A'與'byte'數據類型的'(byte)10'相同...你是否希望它返回字符串'「0x0A」'? – BoltClock 2011-05-05 11:32:06

+0

int和byte都不是十進制或十六進制。這完全沒有意義。一個字符串可以是十進制或十六進制,整數類型只是沒有指定任何表示的抽象數字。 – CodesInChaos 2011-05-05 11:54:02

+0

我工作的應用程序有一個RFID閱讀器... int值是標籤的頁面(扇區)編號,由用戶指定...閱讀器手冊明確指出我們必須發送值(0x0A)以字節格式通過串口...「」發送一個'R'(= 0x52)命令給閱讀器從標籤的內存讀0-3頁: 0x52 0x00「」我要發送0x0A字節格式.. 。但我不能要求客戶端學習十六進制n然後告訴他們輸入0x0A而不是10我可以嗎? – Anumia 2011-05-06 03:39:21

回答

0

如果你想canvert一個int值,以十六進制表示,你可以使用這個

 int intVal = 10; 
     string hexString = String.Format("{0:x2}", intVal); 
     Console.WriteLine("hex value: {0}",hexString); 
     Console.ReadLine(); 

,但如果你想爲INT轉換爲字節類型,因爲int型比對更多的數據就會丟失e字節大小