在產生在盧恩的算法Luhn算法和在C「位操縱」 ++
校驗位(x)由計算的位數,然後計算9倍值模10的總和所獲得的「校驗位」 (以等式形式,(67 * 9 mod 10))。算法形式:計算數字的總和(67)。 乘以9(603)。最後一位數字3是校驗位。
自然本能指向一個字符串作爲一個字符串,使個人數字操作更容易。但似乎沒有辦法通過stringstream一次提取數字,因爲沒有分隔符(據我所知)。因此,這個過程變成了單個字符到整數的繁瑣轉換...
每個數字方法也有模數,這也需要一些工作。
我想我的目標是我可能忽略了一種更優雅的方式,將輸入和輸入操作看作是單個數字輸入。
轉換個別數字字符整數是不是所有的繁瑣:'INT VAL = digit_char - '0';' –