none
十六進位存到byte中 再存byte中讀出成十六進位 RRS feed

  • 問題

  • 請問一下

    是要用socket傳送

    我看規格書上是寫要用2bytes  存0xfefe

    這個要怎麼寫啊

    還有若socket收到byte array 後

    要如何讀出判斷是0xfefe

    若可以的話可以跟我說一下原理嘛?!

    麻煩大家了  謝謝~~~

    2013年6月7日 下午 12:28

解答

  •         byte[]  bByte={0xfe,0xfe};          
    if(bByte[0]==0xfe  && bByte[1]==0xfe)
    {    
        MessageBox.Show("0xFEFE");
    }

    8個bit為1個byte,0xFE為1個byte...

              
    • 已標示為解答 布利 2013年6月8日 上午 04:01
    2013年6月7日 下午 03:34
  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    我自己想了一下是否這樣解釋
    十六進位要到2進位 存進byte中
     0xFE ==>1111  1110  ==> 14  15

    所以放在兩個byte中  byte[0]=14  byte[1]=15

    若要判斷是否如下

    if(byte[0]==14  && byte[1]==15)

        //do somthing

     0XFE 的十進位是 254 吧 ? 你為什麼會用 4 bit 當 1 Byte ?

     所以 0xFEFE 應該是 byte[0] = 254, byte[1]=254 才對吧


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2013年6月8日 上午 02:17
    版主

  •     所以我在程式中 0xFEFE 用兩個Bytes存

        就是  0xFE=1111 11110= 254

         byte[0]=254 這樣對嘛

        若socket 接回來的 byte array 要判斷也斷 是否是0xFE

        也是 

        if(byte[0]==254)

             //do something

        以上這樣說對嘛?!??

    是這樣沒錯, 你只要記得只是表示法不同 , 十進位 254 就是 16 進位 0xFE, 中文大寫是貳佰伍拾肆, 這些都同義.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 布利 2013年6月8日 上午 04:02
    2013年6月8日 上午 03:49
    版主

所有回覆

  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    2013年6月7日 下午 01:15
  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    我自己想了一下是否這樣解釋
    十六進位要到2進位 存進byte中
     0xFE ==>1111  1110  ==> 14  15

    所以放在兩個byte中  byte[0]=14  byte[1]=15

    若要判斷是否如下

    if(byte[0]==14  && byte[1]==15)

        //do somthing

    2013年6月7日 下午 03:19
  •         byte[]  bByte={0xfe,0xfe};          
    if(bByte[0]==0xfe  && bByte[1]==0xfe)
    {    
        MessageBox.Show("0xFEFE");
    }

    8個bit為1個byte,0xFE為1個byte...

              
    • 已標示為解答 布利 2013年6月8日 上午 04:01
    2013年6月7日 下午 03:34
  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    我自己想了一下是否這樣解釋
    十六進位要到2進位 存進byte中
     0xFE ==>1111  1110  ==> 14  15

    所以放在兩個byte中  byte[0]=14  byte[1]=15

    若要判斷是否如下

    if(byte[0]==14  && byte[1]==15)

        //do somthing


    那我用十進位的想法  以上這樣可以嘛?!
    2013年6月7日 下午 03:47
  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    我自己想了一下是否這樣解釋
    十六進位要到2進位 存進byte中
     0xFE ==>1111  1110  ==> 14  15

    所以放在兩個byte中  byte[0]=14  byte[1]=15

    若要判斷是否如下

    if(byte[0]==14  && byte[1]==15)

        //do somthing

     0XFE 的十進位是 254 吧 ? 你為什麼會用 4 bit 當 1 Byte ?

     所以 0xFEFE 應該是 byte[0] = 254, byte[1]=254 才對吧


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2013年6月8日 上午 02:17
    版主
  • 補充一件事, 你有很多舊的討論都沒有去結案, 感覺對回答你的人不太尊重.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2013年6月8日 上午 02:21
    版主
  • 16 進位是給人看的。0xfefe 是數值,直接把該數值傳出去即可。

    初學可以直接用:

    Buffer.BlockCopy

    我自己想了一下是否這樣解釋
    十六進位要到2進位 存進byte中
     0xFE ==>1111  1110  ==> 14  15

    所以放在兩個byte中  byte[0]=14  byte[1]=15

    若要判斷是否如下

    if(byte[0]==14  && byte[1]==15)

        //do somthing

     0XFE 的十進位是 254 吧 ? 你為什麼會用 4 bit 當 1 Byte ?

     所以 0xFEFE 應該是 byte[0] = 254, byte[1]=254 才對吧


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


        所以我在程式中 0xFEFE 用兩個Bytes存

        就是  0xFE=1111 11110= 254

         byte[0]=254 這樣對嘛

        若socket 接回來的 byte array 要判斷也斷 是否是0xFE

        也是 

        if(byte[0]==254)

             //do something

        以上這樣說對嘛?!??

    2013年6月8日 上午 03:11
  • 補充一件事, 你有很多舊的討論都沒有去結案, 感覺對回答你的人不太尊重.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


          跟版主大大 還有 所有回答過我問題的人抱歉
          我是很誠心的謝謝你們的回答  沒去結案是我的問題
          請問版大  要如何看出 我沒結案的文章  我會去一一結案的
          很謝謝您的提醒
    2013年6月8日 上午 03:13
  • http://social.msdn.microsoft.com/Forums/zh-TW/user/threads?user=%E5%B8%83%E5%88%A9&page=1

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2013年6月8日 上午 03:47
    版主

  •     所以我在程式中 0xFEFE 用兩個Bytes存

        就是  0xFE=1111 11110= 254

         byte[0]=254 這樣對嘛

        若socket 接回來的 byte array 要判斷也斷 是否是0xFE

        也是 

        if(byte[0]==254)

             //do something

        以上這樣說對嘛?!??

    是這樣沒錯, 你只要記得只是表示法不同 , 十進位 254 就是 16 進位 0xFE, 中文大寫是貳佰伍拾肆, 這些都同義.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 布利 2013年6月8日 上午 04:02
    2013年6月8日 上午 03:49
    版主
  • 如果是要判斷 FEFE ,可以用 Buffer.BlockCopy 轉成 UInt16

    直接用

    If (UInt16[0]==65278)

    2013年6月8日 下午 03:17