我有一個資料庫,其中包含許多類別,每個類別都與一個ID號有關。我正在尋找一種為類別分配 ID 號碼的方法,如果你將分配的任何 ID 號碼加在一起,它將創建一個唯一的總和。反過來,這個唯一的總和可以用來向后看,并識別哪些類別被加在一起。它不應該只限于兩個元素相加;它應該是2、3...n個元素相加。例如,如果我將四個類別的 ID 號碼加在一起,那么這個總和將只對這四個類別的組合是唯一的;其他類別的組合,不管是四個還是其他,都不會產生相同的總和。
。這方面的一個應用實體可能是一個種族串列或表格。每個種族都將有一個與之相關的ID號碼。如果一個人確認自己是一個以上的種族,例如白人和黑人(兩個種族),或者白人、黑人和亞洲人(三個種族),那么ID的總和將是一個唯一的數字,這樣的總和將只與該特定的種族組合相關。然后,你可以將這個數字的總和作為多種族描述的代碼值,列印在報告或其他東西上。
這是否有一個數學術語?
是否有一個公式可以用來創建ID號碼,從而導致這一結果?
最后,如果有一個數字,假設你有組成類別的ID串列,那么什么是最有效的方式來分解這個數字,以確定哪些元素被加在一起?
uj5u.com熱心網友回復:
實際上,我將通過連接字串來處理這個問題,而不是添加數字。例如,如果你有三場比賽,ID為1、2、3,你想識別一個選了所有三場的人,我會有一個ID為 "123"。當然,如果你只是使用數字,那么你就可以在每個表中多加一個零,所以第一個ID是1,第二個是20,第三個是300。但是,同樣地,如果你使用字串連接,你可以擁有不僅僅是數字的ID。
uj5u.com熱心網友回復:
最小的這種整數系列是2的冪數:
1,2,4,8,16,32,64,128,256...
這個系列中沒有兩個不同的子集具有相同的總和--這就是為什么二進制數字系統能夠發揮作用。請注意,這相當于將整數的位元作為一個集合資料結構,通常稱為位元集或位元陣列。
。為了確定構成一個總和的各個元素,你可以使用位運算子&來測驗每個單獨的位是1還是0(分別表示該元素是存在還是不存在)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/319980.html
標籤:
