計算IMEI校驗位的演算法函式
TCHAR GetIMEICheckDigit(LPCTSTR imei) { int i; int sum1=0,sum2=0,total=0; int temp=0; for( i=0; i<14; i++ ) { if((i%2)==0) { sum1 = sum1 + imei[i] - '0'; } else { temp = (imei[i]-'0')*2; if( temp < 10 ) { sum2 = sum2 + temp; } else { sum2 = sum2 + 1 + temp - 10; } } } total = sum1 + sum2; if( (total%10) == 0 ) { return '0'; } else { return (TCHAR)(((total/10) * 10) + 10 - total+'0'); } }
相關推薦
計算IMEI校驗位的演算法函式
TCHAR GetIMEICheckDigit(LPCTSTR imei) { int i; int sum1=0,sum2=0,total=0; int temp=0; for( i=0; i<14; i++ ) { if((i%2)==
IMEI校驗碼演算法
(1).將偶數位數字分別乘以2,分別計算個位數和十位數之和 (2).將奇數位數字相加,再加上上一步算得的值 (3).如果得出的數個位是0則校驗位為0,否則為10減去個位數 如:35 89 01 80 69 72 41偶數位乘以2得到5*2=109*2=18 1*2=02
android中 IMEI和ICCID的校驗位計算
我們都知道在android 中有IMEI和ICCID 這兩項資料. 至於這兩項資料的獲取方式以及所表示的意思在此我就不寫了.主要講講這兩項資料最後一位的校驗位如何計算的. IMEI共1
IMEI/MEID校驗位計算
IMEI是國際移動通訊裝置識別號(International Mobile Equipment Identity)的縮寫,用於GSM系統。 由15位數字組成,前6位(TAC)是型號核准號碼,代表手機型別。接著2位(FAC)是最後裝配號,代表產地。後6位(SNR)是串號,
計算身份證校驗碼(最後一位)
map git 校驗碼 meta ffi spa class ++ msg 在線預覽 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <
Code128條形碼如何計算其寬度?如何得出其校驗位?
原文連結 Code128條形碼是一個非常高密的字母數字條碼,能夠儲存需要的編碼資料,它可以編碼所有128個ASCII碼字元,它使用最少的空間。 在Code128符號體系中,每個資料字元編碼都是由11個黑或白模組組成,這11個模組由三個條和三個空來形成,條和空可以由1-4個模組的寬度來組成。停止字元由13個
JS-計算身份證校驗碼(最後一位)
線上預覽 <!DOCTYPE html> <html lang="en"> <head> <title>Document</title> <style> #msg{ color: red; }
oracle 身份證 校驗位 判斷字串是否為數字函式
通過輸入的前17位身份證號碼獲取最後一位身份證校驗碼的函式,輸出為校驗碼的值。create or replace function getCheckCode(Identity_code VARCHAR2) RETURN VARCHAR2 /*****author :Mr_
銀行卡號校驗位的LUHN演算法模10“隔位2倍加”校驗數的公式
銀聯卡卡號由三部分組成:髮卡機構標識碼(bin)、髮卡機構自定義位、校驗碼。其中,卡號左起前六位是髮卡機構標識程式碼(BIN),由6位數字組成。BIN號由中國銀聯複製分配、確認和管理;卡號第七位起事發卡機構自定義位,由6至12位數字組成,髮卡機構自行賦值;卡號最後一位是校
怎麼計算crc16校驗資料的校驗碼
第一、CRC-16校驗碼計算方法: 常用查表法和計演算法。計算方法一般都是: (1)、預置1個16位的暫存器為十六進位制FFFF(即全為1),稱此暫存器為CRC暫存器; (2)、把第一個8位二進位制資料(既通訊資訊幀的第一個位元組)與16位的CRC暫存器的低
迴圈冗餘校驗基本演算法
也稱為多項式編碼,是鏈路層廣泛使用的更具糾錯能力的方法 基本思想: 將位串看成是係數為 0 或 1 的多項式。一個 k 位幀看作是一個 k-1 次多項式的係數列表,該多項式共有 k 項,從 xk-1 到 XO。這樣的多項式認為是 k-1 階多項式。高次(最左邊〉位是 xk-1 項的係
【C語言實現串列埠通訊知識點整理(一)】執行緒、開啟串列埠、設定波特率、設定校驗位、互斥鎖等實現基本的通訊
部分程式碼借鑑地址:https://blog.csdn.net/wangqingchuan92/article/details/73497354/ 謝謝! 1.建立執行緒線上程內進行串列埠之間的收發 void CREAT_pthread(void) { pthr
CRC碼計算及校驗原理的最通俗詮釋
5.3.2 迴圈冗餘校驗檢錯方案 奇偶校驗碼(PCC)只能校驗一位錯誤,本節所要介紹的迴圈冗餘校驗碼(CRC)的檢錯能力更強,可以檢出多位錯誤。 1. CRC校驗原理 &nb
簡單的校驗和演算法
c版本 #include <stdio.h> #include <stdlib.h> #include "crc16.h" static mu16 check(mu8* addr, mu32 count) ; int main(int argc, char
CRC(迴圈冗餘校驗)演算法入門
寫給嵌入式程式設計師的迴圈冗餘校驗(CRC)演算法入門引導前言CRC校驗(迴圈冗餘校驗)是資料通訊中最常採用的校驗方式。在嵌入式軟體開發中,經常要用到CRC 演算法對各種資料進行校驗。因此,掌握基本的CRC演算法應是嵌入式程式設計師的基本技能。可是,我認識的嵌入式程式設計師中
Java 驗證身份證號的合法性(只利用校驗位)
import java.util.Scanner; public class E201_06_04_身份證驗證 { public static void main(String[] args)
身份證校驗位
知道一個人的身份證前17位,得到第18位: 1、將前面的身份證號碼17位數分別乘以不同的係數。從第一位到第十七位的係數分別為:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、將這17位數字和係數相乘的結果相加。 3、用加出來和除以11,得出餘數。 4、餘數只可能有0-1-
EC糾刪碼(Erasure Code)校驗碼演算法相比傳統RAID5有哪些優勢?
1 EC糾刪碼(Erasure Code)校驗碼演算法相比傳統RAID5有哪些優勢? (1) EC演算法是跨節點的,4+2:1的冗餘允許1個節點故障而不丟失資料,RAID5一般是由節
Nema協議校驗碼演算法
示例: $GPGSV,2,2,8,22,23,315,35,25,00,000,30,31,63,272,24,32,61,023,34*43 其中*43為校驗位,該校驗位值為以上字串去掉$和*之後,由字元的ASCII碼異或得到。 以下為QT示例程式: //$GPGSV,2
IMEI校驗思路及程式碼
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <b