1. 程式人生 > >Qt:計算CRC校驗值(CRC16和CRC32)

Qt:計算CRC校驗值(CRC16和CRC32)

CRC有非常多的模式,我沒有全部都做,目前支援

  • CRC16-Modbus
  • CRC16-X25
  • CRC32

使用方法

auto data = QByteArray::fromHex( "01 02 03 04 05" );
auto crc16ForModbus = JQChecksum::crc16ForModbus( data );
auto crc16ForX25 = JQChecksum::crc16ForX25( data );
auto crc32 = JQChecksum::crc32( data );

qDebug() << "crc16ForModbus:"   <<
crc16ForModbus << QString::number( crc16ForModbus, 16 ); qDebug() << "crc16ForX25:" << crc16ForX25 << QString::number( crc16ForX25, 16 ); qDebug() << "crc32:" << crc32 << QString::number( crc32, 16 );

GitHub地址

相關推薦

Qt計算CRCCRC16CRC32

CRC有非常多的模式,我沒有全部都做,目前支援 CRC16-Modbus CRC16-X25 CRC32 使用方法 auto data = QByteArray::fromHex( "01

計算身份證最後一位

map git 校驗碼 meta ffi spa class ++ msg 在線預覽 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

JS-計算身份證最後一位

線上預覽 <!DOCTYPE html> <html lang="en"> <head> <title>Document</title> <style> #msg{ color: red; }

CRC原理cyclic redundancy check

1、CRC基於“模二運算”。 模二運算類似於普通二進位制運算,但是區別在於無進位和借位。 例如: 加法:010+110=100 減法:010-110=100 無進位和借位使得模二運算的加減法相當於異

Android驅動中的remap_pfn_range()漏洞CVE-2013-2596

用戶態 bsp 介紹 進程 sig shared res exploit 關系 簡單介紹 當然類似函數還有io_remap_pfn_range()。 remap_pfn_range() 為用戶態提供了一種手段訪問內核地址空間。它通過新頁表,將一塊內核物理內存映射到用戶態進程

PHP銀行卡函式16-19位

網上有很多校驗函式,但是在專案中我發現有一些新的銀行卡號通過不了校驗,百度上好幾個瀏覽量高的函式都不能用。試了好多函式終於發現有一個函式適用於國內的主流銀行卡號(有一些銀行沒有測到,測到的都支援) function checkBankCard($card){ $arr_no

資料結構實驗之棧與佇列五下一較大一,二

資料結構實驗之棧與佇列五:下一較大值(一,二) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 對於包含n(1<=n<=1000)個整數的序列,對於序

模擬RSA雙向驗證,並且實現DES加密以及MD5過程python程式碼實現

要求如下:            (1)A,B兩端各生成公鑰金鑰對(PA,SA), 金鑰對(PB,SB)。            (2)A端生成隨機數N1,用B的公鑰PB加

angular寫的身份證規則省份生日性別手機號 。直接貼程式碼

(function() { 'use strict'; angular.module('app.house') .controller('HotelOrderCtrl', HotelOrderCtrl); HotelOrderCtrl.$inject =

常用的註解如@NotNull等

@Null 被註釋的元素必須為null @NotNull 被註釋的元素不能為null @AssertTrue 被註釋的元素必須為true @AssertFalse 被註釋的元素必須為false @Min(value) 被註釋的元素必須是一個數字,其值必須大於等於指定

銀行卡LUHM演算法C++

演算法比較簡單。 1、除去校驗位後,從右至左,將卡號按位編碼,從0開始。 2、將偶數位×2,得到的結果按位相加,比如偶數為6,×2=12,則將1和2相加=3;奇數位則直接參與相加; 3、重複步驟2得到總和,該總和加上校驗位應能被10整除,否則校驗位不正確。 圖解: 設卡號

Swift我的第一個DemoUILabelUIButton

完成的邏輯,按下按鈕從hello變成感謝點選,鬆手還原 檔名:AppDelegate.swift import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var

Ajax中的async的取非同步同步

之前去面試廣州科騰公司時,面試官問了一個問題—ajax的async取值的理解。那時候的我可以說是個死菜鳥(現在可能是個半死不活的菜鳥),只是理解取值的字面意思,最後還要面試官給我解釋。雖然面試肯定是掛了,但是至少面試官教了我點東西,也不虧了對吧。言歸正傳了。

Mybatis自動生成keyselectKeyuseGeneratedKeys

insert和update操作中會常常用到自動生成主鍵的問題。 selectKey和useGeneratedKeys屬性 useGeneratedKeys (insert and update only) This tells

開發實戰--CRC,計算工具軟體的開發過程開源

1、專案的需求來源       做為程式設計師碼程式碼,開發軟體,開發通訊協議,相信避免不了與各種校驗碼打交道。校驗碼是通訊協議中資料接收方用來校驗資料合法性的一個編碼。那麼舉個栗子,請看今早我和隔壁老王的對話,         隔壁老王:今天你吃了麼?“嘎哈”    

常用奇偶,海明CRC學習總結

結果 post 1的個數 增加 src 所在 如果 ble 繼續 常用校驗碼(奇偶校驗,海明校驗,CRC)學習總結 一.為什麽要有校驗碼? 因為在數據存取和傳送的過程中,由於元器件或者噪音的幹擾等原因會出現錯誤,這個時候我們就需要采取相應的措施,發現並糾正錯誤,對於錯誤的

CRC原理及步驟轉載只是為了查閱方便,若侵權立刪

什麼是CRC校驗? CRC即迴圈冗餘校驗碼:是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊欄位和校驗欄位的長度可以任意選定。迴圈冗餘檢查(CRC)是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。 &n

CRC計算原理的最通俗詮釋

5.3.2 迴圈冗餘校驗檢錯方案       奇偶校驗碼(PCC)只能校驗一位錯誤,本節所要介紹的迴圈冗餘校驗碼(CRC)的檢錯能力更強,可以檢出多位錯誤。        1. CRC校驗原理    &nb

sublime3使用自定義快捷鍵、外掛安裝、語法cssjs

1.快捷鍵大全: https://mp.csdn.net/postedit/84336764 2.新增快捷鍵: 例:ctrl+q 開啟sublime編輯器 preference>>key bindings-user>>編輯設定文件, 輸入 { "key

js正則表示式是否為一個數字正負整數,正負小數均可

百度了很多給出的正則清一色都是 /^[0-9]+.?[0-9]*$/ 但是經過實測此正則表示式是不完全正確的 所以自己測試並寫了新的校驗是否為數字的正則表示式,經自己測試,正負正數,正負小數均能正確判斷 /(^[\-0-9][0-9]*(.[0-9]+)?