none
ASP.NET 可以將Integer 或 正整數做2進制的運算嗎? RRS feed

  • 問題

  • 各位先進大家好!
    小弟有一陣子沒有再上論壇看看各位了,實在是專案太忙  ^^" 在此先跟大家說聲新年快樂

    如之前大家看到,小弟還在做同一個專案(只有我一個工程師還要負責DB維護、聽從老闆隨時會變更的客制化...  一.一)
    ,最近又因專案需要,會用到2進制計算(0101)的方式,來代表一字串的顯示。舉個例子(小弟的專案是VB寫的):

    '宣告一個字串,a, c 以1 代表。 b,d 以0代表
    dim strDefault as String = "acbd" '←這個字串的2進位表示就會是1100
    以這個字串開始,若我要讓他加一個Ranage(2進位),使其字串變成"dbac"


    大概就是要做這樣的運算,請問各位先進,目前ASP.NET可以做到這樣的事嗎?還是有別的方法可以做到這樣的要求?

    還請各位先進不吝提供我寶貴的意見  ^^" 

    謝謝

    2008年1月24日 上午 06:24

解答

  • 就寫成函數啊~ 比如說仿照 Base64 命名慣例:

    Code Snippet

    Function MyValueEncode(Byval value As Integer) As String

    ...

    End Function

     

    Function MyValueDecode(Byval value As String) As Integer

    ...

    End Function

     

     

    編碼內容既然是你們自己訂的,就寫在函數裡,所以你的差值就是:

    Code Snippet

    Debug.Print(MyValueEncode(MyValueDecode("bdac") - MyValueDecode("acbd"))

     

     

    2008年1月24日 下午 04:58
    版主

所有回覆

  • 自己寫個函數將字串轉成 Integer ,相加完再轉成 二進位 字串

     

    對於電腦來說,所有的變數都是二進位,十進位、十六進位都是為了我們方便而展現,在記憶體內原本就是用二進位在計算。

     

    2008年1月24日 上午 08:17
    版主
  • 感謝璉大的意見:
    我大概知道您的意思,記憶體內用二進位在計算我可以理解,但將字串轉成integer...
    意思是可以將一個String → Ctype("abcd", integer) 嗎?還是可以用別的語法來試呢?

     如果你說的可行,可否給我一個範例參考一下呢?
    小弟非常感謝您的幫忙  ^_^
    2008年1月24日 下午 03:38
  • 就寫成函數啊~ 比如說仿照 Base64 命名慣例:

    Code Snippet

    Function MyValueEncode(Byval value As Integer) As String

    ...

    End Function

     

    Function MyValueDecode(Byval value As String) As Integer

    ...

    End Function

     

     

    編碼內容既然是你們自己訂的,就寫在函數裡,所以你的差值就是:

    Code Snippet

    Debug.Print(MyValueEncode(MyValueDecode("bdac") - MyValueDecode("acbd"))

     

     

    2008年1月24日 下午 04:58
    版主