如何將多個小值儲存進乙個值中

2022-02-01 10:18:58 字數 629 閱讀 7366

群裡發面試題來看,無意之後看到。自己思考了一下覺得位運算就可以搞定。

題意大概就是讓你可以有乙個方法對三個數進行encode之後儲存進乙個數。然後有乙個decode方法能將這三個數從這乙個數中還原回來。

go實現:

package main

import

"fmt

"func encodeintohex(m map[string]int) (int)

func decodeintoint(i int) (int, int, int)

func main()

data :=encodeintohex(fruit)

fmt.println(data)

o, b, a :=decodeintoint(data)

fmt.println(o, b, a)

}

總的來說,思路還是位運算。我們假設這個數是0-255的乙個數。我們就可以使用每8bit來標示乙個數。我們用乙個32bit int型來儲存最後的數。

這裡假設我們有三個數,encode的時候將數按順序,每個數與0xff與,然後在另外乙個8bit位置上與另外乙個數字或,即可得到結果。

在decode的時候可以再按照每一位解析回來即可。

如何將乙個String和多個String值進行比較

開發中我們經常需要將乙個string和多個string值進行比較。直覺反應是使用 符號連線多個 完成,比如 fruitcolor yellow 這樣能夠很好的完成需求,但總覺得有點笨,並且對擴充套件不友好,當我們的水果種類變多時 fruitcolor yellow 上面的 看起來就不那麼好看了,讓我...

如何將屬性檔案中的值儲存到類中

1 編寫屬性檔案,以鍵值對形式儲存,並放置在類路徑 src 下 jdbc.jdbcurl jdbc mysql localhost 3306 bookstore?rewritebatchedstatements true jdbc.user bookmanager jdbc.password man...

乙個函式中返回多個值

如把多個需要返回的值作相應的處理後變成乙個可以用return 語句返回的資料,再在主調函式中拆開返回的資料使之變成幾個值。那麼當我們希望從乙個函式中返回多個值時,用什麼方法去實現比較合理呢?2方法1 利用全域性變數 分析 全域性變數作為c 語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中...