Best way to generate CRC8/16 when input is odd number of BITS (not byte)? C or Python
 

So I'm stuck with a protocol that adds a CRC8/CRC16 over odd number of bits. (ie. it's not divisible by 8) What's the best method to generate the CRC for it in software?

There are plenty of CRC algorithm that uses table, but they are lookup per byte. Of course, there's the "fail-safe" of doing it one bit at a time. But is there a better approach? Perhaps doing it mostly by table lookup and then finish it doing a bit at a time?

I'm currently using a bitarray in python to handle this. But solution in C would also work. Thanks!

EDIT: Note that I'm interfacing with existing hardware that calc the CRC over the odd number of bits. (It's easy for the HW, since they just use a LFSR--1 bit at a time!) So while padding with known pattern would work for sake of integrity checking, it would break the hw compatibility.

http://www.stackoverflow.com/questions/3411654/

        

There are 1 answer(s) to this question.


Padding with zeros at the front should not change the result. Computing the CRC is essentially binary long division. Unfortunately this involves splitting each byte. This is easy to with shift operators and bitwise or.

Zero padding at the end is, much easier, and depending on your reason for computing the CRC, a completely reasonable thing to do. For example, if you are using CRC for an integrity check.

Edit Taking my example from my comment. If you have 11 bits 11101110111 and want to compute the CRC, pad them to get 00000111 01110111 = 0x777, do not pad them to get 0x7770 as this will have a different CRC.

The reason that this works is that CRC is essentially binary long division

                    1 0 1 = 5
            -------------
1 0 0 1 1 / 1 1 0 1 1 0 1
            1 0 0 1 1 | |
            --------- | |
              1 0 0 0 0 |
              0 0 0 0 0 |
              --------- |
              1 0 0 0 0 1
                1 0 0 1 1
                ---------
                  1 1 1 0 = 14 = remainder

Has exactly the same result as

                      1 0 1 = 5
            ---------------
1 0 0 1 1 / 0 1 1 0 1 1 0 1
              1 0 0 1 1 | |
              --------- | |
                1 0 0 0 0 |
                0 0 0 0 0 |
                --------- |
                1 0 0 0 0 1
                  1 0 0 1 1
                  ---------
                    1 1 1 0 = 14 = remainder

and similarly for any number of leading zeros.

Note at this point, unless you are a psychiatrist looking for field work, want to become one, or secretly desire to need to see one, it may be worth your while to skip to the Super double secret probationary edit

Further Edit Due to question change

If you have a nontrivial initial vector, you can do the following. Say we want to compute the CRC-CCITT CRC of the above string with an initializer of FFFF. We pad the string to get 0x0FFF compute the CRC-CCIT with initializer 0 to get 0x0ECE, then compute the CRC-CCIT with initializer 0xFFFF of 0x0000 to get 0x1D0F, and xor them 0x0ECE xor 0x1D0F = 0x13C1.

The CRC of an arbitrary string of 0's and a nonzero initializer can be computed quickly if the polynomial is primitive (I think they all are), but it gets complicated and I do not have nearly enough time.

The essence of the technique is that we can consider the state of the shift register as a polynomial. If we initialize it with n ones this is the same as considering the initial polynomial as p(x) = x^(n - 1) + x^(n - 2) ... + x + 1. Computing the CRC of a string of k zeros is equivalent to finding p(x) x^k mod CRC. x^k mod CRC is easily found by repeated squaring and reduction. Any library for polynomial arithmetic over GF(2) should do this.

Even further Edit It probably makes more sense in the case of nonzero initializers to pad with zeros and change the initializer to a value such that after reading |pad| number of zeros the shift register contains FFFF (or whatever the value you wanted was. These can be precomputed, and you only need to store 16 or 32 of them (or howver many bits are in your crc polynomial.

For example with CRC-CCIT with initializer 0xFFFF and a single bit 0 padding we will want to use an initializer of 0xF7EF. These can be computed by finding x^(-1) mod CRC using the extended euclidean algorithm and then computing initializer * x^(-k) mod CRC for the various padding lengths. Again any GF(2) polynomail package should make this easy. I have used NTL in the past and found it quite flexible, but it is probably overkill here. Even for 32 bit crcs exhjaustive search will probably find the initializers faster than you can write the code.

Super double secret probationary edit

Ok, Things are actually considerably simpler than I thought they were. The general idea above is correct, we want to pad the string with 0's at the front to extend the size to a multiple of 8, 16 or 32 depending on what our software implementation wants, and we want to change our initial vector to set our state to something that after reading the padding zeros will the LFSR will be set to the initial vector that we wanted. We certainly could use galois field arithmetic to do this, but there is an easier way: just run the LFSR backwards.

For example if we want to compute the CRC-CCITT (0xFFFF) of the 11 bits 11 bits 11101110111 we pad them with 5 0's to get 00000111 01110111 and then back the LFSR up five spaces to get an initial vector of 0xF060. (I've done the computation by hand, so beware). So if you start an LSFR (or a software implementation) with IV of 0xF060 and run it on 0x0fff, you should get the same result as running an LFSR with IV 0xFFFF on the original 11 bits.

Related Questions

Related algorithm Video tutorials from Youtube.


Halo Reach Flaming Helmet Rede
In this video i show the moment when i wrote the codes for the Flaming Helmet/Recon/Elite in Halo Re
Halo Reach Flaming Helmet Redeem Code ( Elite Code Generator Free Download ) NEW!
In this video i show the moment when i wrote the codes for the Flaming Helmet/Recon/Elite in Halo Reach and a little preview of each them   Enjoy and comment! Download Halo Reach Flaming Helmet Code Generator: haloreachbungiereedem.blogspot.com If you want to get a flaming helmet on Halo Reach, this free halo reach flaming helmet code generator will generate a free code for you. The free halo reach beta code generator will generate a code based on the algorithm that bungie use to create the codes they release on facebook. All you need to do is hit the generate button and get your free flaming helmet code. The website to get Download Halo Reach Flaming Helmet Code Generator: haloreachbungiereedem.blogspot.com extra titles: [WORKING] How to Mod Halo Reach Credits and Unlock all Armor Haunted Helmet Halo Reach Codes (XBOX 360) Free Halo: Reach Flaming Helmet Giveaway! (1000+ Codes!) FLAMING HELMET CODES Halo Reach Armor 2 BILLION CREDITS HACK Halo Reach Helmet Flaming Code Generator w/ Download Enjoy GET FLAMING HELMET IN HALO REACH 100% FREE 100% LEGIT Halo Reach Free Flaming Helmet Code Generator Halo Reach-Haunted Skull Helmet Codes (UPDATED) + (Available Now) Halo Reach Haunted Skull Helmet Giveaway Available Now!! Halo Reach - How to Get Unlimited Credits No Mods (Xbox 360) FREE HALO REACH FLAMING HELMET CODES DOWNLOAD NOW Halo Reach Haunted Skull Helmet Giveaway BE QUICK! Flaming Blue Haunted Helmet Coeds For Halo Reach Halo Reach - All Elite Armor *Free* (Download ...

Rigid-Body Fracture Sound (ACM
The fracture sounds and animations in this video were computer generated using the physically based
Rigid-Body Fracture Sound (ACM SIGGRAPH 2010)
The fracture sounds and animations in this video were computer generated using the physically based "Rigid-Body Fracture Sound" algorithm [Zheng & James, ACM SIGGRAPH 2010]. www.cs.cornell.edu

Halo Reach Flaming Helmet Code
In this video i show the moment when i wrote the codes for the Flaming Helmet/Recon/Elite in Halo Re
Halo Reach Flaming Helmet Code Generator / Recon / Glitch ( Free Halo Reach Flaming Helmet Code)
In this video i show the moment when i wrote the codes for the Flaming Helmet/Recon/Elite in Halo Reach and a little preview of each them   Enjoy and comment! Download Halo Reach Flaming Helmet Code Generator: freehaloreachflaminghelmet.blogspot.com If you want to get a flaming helmet on Halo Reach, this free halo reach flaming helmet code generator will generate a free code for you. The free halo reach beta code generator will generate a code based on the algorithm that bungie use to create the codes they release on facebook. All you need to do is hit the generate button and get your free flaming helmet code. The website to get Download Halo Reach Flaming Helmet Code Generator: freehaloreachflaminghelmet.blogspot.com extra titles: [WORKING] How to Mod Halo Reach Credits and Unlock all Armor Haunted Helmet Halo Reach Codes (XBOX 360) Free Halo: Reach Flaming Helmet Giveaway! (1000+ Codes!) FLAMING HELMET CODES Halo Reach Armor 2 BILLION CREDITS HACK Halo Reach Helmet Flaming Code Generator w/ Download Enjoy GET FLAMING HELMET IN HALO REACH 100% FREE 100% LEGIT Halo Reach Free Flaming Helmet Code Generator Halo Reach-Haunted Skull Helmet Codes (UPDATED) + (Available Now) Halo Reach Haunted Skull Helmet Giveaway Available Now!! Halo Reach - How to Get Unlimited Credits No Mods (Xbox 360) FREE HALO REACH FLAMING HELMET CODES DOWNLOAD NOW Halo Reach Haunted Skull Helmet Giveaway BE QUICK! Flaming Blue Haunted Helmet Coeds For Halo Reach Halo Reach - All Elite Armor *Free ...

3D Multi-touch Prototype for A
In this video I demonstrate the 3D interaction prototype that I have developed during my Master Thes
3D Multi-touch Prototype for Augmented and Virtual Reality
In this video I demonstrate the 3D interaction prototype that I have developed during my Master Thesis at Fraunhofer FIT in Bonn, Germany. The system uses a depth sensing camera, which is based on the time-of-flight principle and measures phase shifts of a reflected infrared signal. My contribution is the computer vision algorithm, the gesture recognition technique as well as the concept and implementation of the demo application.

Algorithms Lesson 4: Quicksort
xoax.net For this lesson, we explain and demonstrate graphically how to perform the quicksort algori
Algorithms Lesson 4: Quicksort
xoax.net For this lesson, we explain and demonstrate graphically how to perform the quicksort algorithm with a pseudocode implementation. Please submit all questions to our forum: xoax.net

Lecture 1: Introduction to Dat
A selection of the course material is available at wiki.cse.unsw.edu.au This is the first lecture of
Lecture 1: Introduction to Data Structures and Algorithms - Richard Buckland
A selection of the course material is available at wiki.cse.unsw.edu.au This is the first lecture of COMP1927 Algorithms and Data Structures, which is the second computing course taken by first year computing students at UNSW. This course follows immediately on from COMP1917 (also available on youtube). These lectures are currently being recorded (August-November 2009).

Algorithms Lesson 2: Insertion
xoax.net For this lesson, we explain and demonstrate graphically how to perform the insertion sort a
Algorithms Lesson 2: Insertion Sort
xoax.net For this lesson, we explain and demonstrate graphically how to perform the insertion sort algorithm. For C++ insertion sort code, go to our lesson page at xoax.net. Please submit all questions to our forum: xoax.net

Harmonic Fluids
Fluid sounds synthesized using the "Harmonic Fluids" algorithm [Zheng and James, ACM SIGGRAPH 2009].
Harmonic Fluids
Fluid sounds synthesized using the "Harmonic Fluids" algorithm [Zheng and James, ACM SIGGRAPH 2009]. www.cs.cornell.edu

Visual Demonstration of the Qu
Visual demonstration of the QuickSort algorithm Blog entry: blog.bodurov.com
Visual Demonstration of the QuickSort Algorithm
Visual demonstration of the QuickSort algorithm Blog entry: blog.bodurov.com

Lecture -18 Dynamic Programmin
Lecture Series on Design & Analysis of Algorithms by Prof.Abhiram Ranade, Prof.Sunder Vishwanathan ,
Lecture -18 Dynamic Programming
Lecture Series on Design & Analysis of Algorithms by Prof.Abhiram Ranade, Prof.Sunder Vishwanathan , Department of Computer Science Engineering,IIT Bombay. For more details on NPTEL visit nptel.iitm.ac.in

Genetic Algorithm Fish
metivity.com evolution of fish. each fish is a neural net. The purpose of this application is to dev
Genetic Algorithm Fish
metivity.com evolution of fish. each fish is a neural net. The purpose of this application is to develop a "killer fish" - a fish that eats maximum pieces of food in a constant time period. The world is populated by 20 fish and 40 pieces of food. every time a generation begins. the food is scatted in a random distribution on a certain random location on the screen. (random piles of food). When being eaten, the food shows up in a new random pile in the screen. Every fish has a brain - Neural Net. It has 2 inputs the direction and velocity of the fish. (himself). the relative location of the closest food. and two outputs: velocity of right wheel. velocity of left wheel. You can refer to the movement as a tank with two chains, and the output as the velocity of each chain. the target is to find weights for the neural net that will give the fish a "killer-brain"... When running the application you will see the generations go by. In each generation we select the best fish in generation and breed them to form new 20 fish. the brains (Neural Nets) of the initial 20 fish are created randomly. This explains why they are so "stupid". look how they improve as time goes by. their logic is being build by evolution, without interference. metivity.com

Algorithms #2 - Insertion Sort
We continue looking at sorting algorithms, this time we take a look at Insertion Sort. Insertion is
Algorithms #2 - Insertion Sort
We continue looking at sorting algorithms, this time we take a look at Insertion Sort. Insertion is better than bubble sort, but still very poorly behaving.

Lec-4 Linear Programming Solut
Lecture Series on Fundamentals of Operations Research by Prof.G.Srinivasan, Department of Management
Lec-4 Linear Programming Solutions - Simplex Algorithm
Lecture Series on Fundamentals of Operations Research by Prof.G.Srinivasan, Department of Management Studies, IIT Madras. For more details on NPTEL visit nptel.iitm.ac.in

C++ Console Lesson 20: Sorting
More at xoax.net This C++ video tutorial shows how to write a generic bubblesort algorithm to sort a
C++ Console Lesson 20: Sorting with Bubblesort
More at xoax.net This C++ video tutorial shows how to write a generic bubblesort algorithm to sort an array of variables. Download the code from xoax.net xoax.net Please submit all questions to our forum: xoax.net

WoW Gamecard Generator Working
Download link: u.bb The gamecard code algorithm has been cracked by (again), blizz thought they coul
WoW Gamecard Generator Working as of Patch 4.0 (Cataclysm)
Download link: u.bb The gamecard code algorithm has been cracked by (again), blizz thought they could outsmart us. I am releasing this program to get back at blizz for making us the gamer pay to play for this game. Stop paying for WoW and get back at them with me. To use simply login at battle.net and add a generated game card code to your account, some wont work because the code could be on a gamecard that made it to a store and was used. Many working codes can still be generated from this useful tool. Download link: u.bb Edit: This is still working on newest expantion Cataclysm!

Algorithms #3 - Selection Sort
This time we take a look at how Selection Sort works, this being the third sorting algorithm in our
Algorithms #3 - Selection Sort
This time we take a look at how Selection Sort works, this being the third sorting algorithm in our series.

Lec 8 | MIT 6.00 Introduction
Lecture 8: Complexity; log, linear, quadratic, exponential algorithms Instructors: Prof. Eric Grimso
Lec 8 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008
Lecture 8: Complexity; log, linear, quadratic, exponential algorithms Instructors: Prof. Eric Grimson, Prof. John Guttag View the complete course at: ocw.mit.edu License: Creative Commons BY-NC-SA More information at ocw.mit.edu More courses at ocw.mit.edu

The Open Source Culture of the
by Scott Draves and the Electric Sheep, 2010.08 narration by Isabel Walcott Draves see ScottDraves.c
The Open Source Culture of the Flame Algorithm
by Scott Draves and the Electric Sheep, 2010.08 narration by Isabel Walcott Draves see ScottDraves.com for more info

Rubik's cube solving robot by
This is a video of a rubik's cube solving robot. It uses a 2 phase algorithm to find a solution (max
Rubik's cube solving robot by Ranulf Green
This is a video of a rubik's cube solving robot. It uses a 2 phase algorithm to find a solution (maximum of 29 moves). The robot is implemented using Lego Mindstorms, Lejos and Java. (Characterised by the familiar Swing interface!). The one difference this robot has too others is that it has been fully documented. Hopefully source code and the report will be avaiable soon! You can now dowload a copy of the report from: www.comp.leeds.ac.uk

How It Works: A-Star (Pathfind
Part 2 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2:
How It Works: A-Star (Pathfinding) Part 2/3
Part 2 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2: www.youtube.com Part 3: www.youtube.com More Indepth information: www.policyalmanac.org All About Heuristics: theory.stanford.edu Any questions feel free to send me a message or post a comment. If you use my library please give me credit, just a thank you and I will be happy! Downloads: AStarTester Application (Compiled) www.megaupload.com AStarTester + LibAStar (Source) www.megaupload.com

52 Reason / Record Tips - Week
The new "stretch to tempo" feature in Record 1.5 (AUDIO+MIDI) and Reason 5 (MIDI only) means that it
52 Reason / Record Tips - Week 35: Edit Your Loops and Stretch to Tempo
The new "stretch to tempo" feature in Record 1.5 (AUDIO+MIDI) and Reason 5 (MIDI only) means that it's easier than ever to take a WAV loop off your hard drive and bring it into your session - quickly employing Record's excellent stretch algorithm along the way. In case you're new to waveform editing and sample stretching, this week I'll show you how it's done. It's easier than you may think and the production possibilities become vast.

Writing a keygen part 1/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for a
Writing a keygen part 1/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for an application. The app (mIRC) is examined in a debugger (Ollydbg) and the keygen algorithm is reverse-engineered. From this, a standalone keygen application is created. This tutorial is for educational purposes only.

Algorithms #1 - Bubblesort
In this short video we take a look at the bubblesort sorting algorithm. It's one of the worst perfor
Algorithms #1 - Bubblesort
In this short video we take a look at the bubblesort sorting algorithm. It's one of the worst performing sorting algorithms, but it is also the easiest to explain. We also look at bubblesorts cousin shakersort.

How It Works: A-Star (Pathfind
Part 1 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2:
How It Works: A-Star (Pathfinding) Part 1/3
Part 1 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2: www.youtube.com Part 3: www.youtube.com More Indepth information: www.policyalmanac.org All About Heuristics: theory.stanford.edu Any questions feel free to send me a message or post a comment. If you use my library please give me credit, just a thank you and I will be happy! Downloads: AStarTester Application (Compiled) www.megaupload.com AStarTester + LibAStar (Source) www.megaupload.com

Google and You! - Master Plan:
Does Microsoft really want to be an enemy of Google? Worldwide, Google holds a market share of 44.1%
Google and You! - Master Plan: HQ
Does Microsoft really want to be an enemy of Google? Worldwide, Google holds a market share of 44.1%, the biggest rival Yahoo! comes on 28.7% and the Microsoft search engine MSN merely on 12.5%. Even more distinct are the numbers in Germany: With a market share just under 90% Google outclasses the international competitors. Shortly after the founders of Google developed the PageRank algorithm in 1997, the beta-version of their search engine at Stanford University, California was quickly enjoying enormous popularity. The search engine was just better than everything known so far. The number of enthusiastic users rapidly increases. PageRank ranks websites by their relevance dependent on the incoming links. Today, Google is one of the fastest growing companies worldwide. Within four years Google had a 70-fold increase in sales - the benefit even increases 209-fold. Google earns 99% of its sales from selling Ads. The two advertisement systems AdSense and AdWords are each gaining half of the profits. From the beginning money was not important to the founders of Google; they wanted to make the world a better place. It's their Vision to make any kind of information accessible to anybody. In this point of the movie we have the first scepticism towards Google: the whole information will be controlled by Google. Today, Google offers its search function in more than 100 Languages. In addition they offer a constantly growing list of currently over 80 free features. Using these ...

Writing a keygen part 4/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for a
Writing a keygen part 4/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for an application. The app (mIRC) is examined in a debugger (Ollydbg) and the keygen algorithm is reverse-engineered. From this, a standalone keygen application is created. This tutorial is for educational purposes only.

Emergent Morphology
Genetic-algorithm-based system for evolving morphology and motor control in 3D stick figures - by Je
Emergent Morphology
Genetic-algorithm-based system for evolving morphology and motor control in 3D stick figures - by Jeffrey Ventrella. See: www.ventrella.com www.ventrella.com

iDesktopVR - head tracking for
iDesktopVR is an adaptation for the iPhone / iPod Touch or Johnny Chung Lee's WiiDesktopVR method of
iDesktopVR - head tracking for iPhone / iPod Touch
iDesktopVR is an adaptation for the iPhone / iPod Touch or Johnny Chung Lee's WiiDesktopVR method of view-dependent rendering. In this version, the orientation of the screen relative to the viewer is tracked using the accelerometers on the device and the head distance is fixed value. In other words, instead of physically moving in front of a TV screen, in this version you are manipulating the screen itself. You can press the RESET button to define a new reference viewing pose, allowing to use the application in the orientation of your choice. Pressing the HUD button allows to access various rendering parameters. The version used in this video suffers from some lag due to the accelerometer noise filtering algorithm. The new version on the App Store uses an advanced algorithm that provides stable viewing and better response to user movements. You can download iDesktopVR for the iPhone by clicking here: itunes.apple.com Here is a link to Johnny Lee's Head Tracking for Desktop VR Displays using the WiiRemote: www.youtube.com You can reach the author of iDesktopVR by writing to: info@algomixsolutions.com.

Rubik's Cubes Are Hard To Solv
I've never solved a rubik's cube. GET THIS SONG ON ITUNES! itunes.apple.com MORE VIDEOS www.youtube.
Rubik's Cubes Are Hard To Solve
I've never solved a rubik's cube. GET THIS SONG ON ITUNES! itunes.apple.com MORE VIDEOS www.youtube.com TWITTER www.twitter.com FACEBOOK www.facebook.com Billy Reid - www.youtube.com The Rubik's Cube is a 3-D mechanical puzzle invented in 1974 by Hungarian sculptor and professor of architecture Ern? Rubik. Originally called the "Magic Cube", the puzzle was licensed by Rubik to be sold by Ideal Toys in 1980 and won the German Game of the Year special award for Best Puzzle that year. As of January 2009, 350 million cubes have sold worldwide making it the world's top-selling puzzle game. It is widely considered to be the world's best-selling toy. In a classic Rubik's Cube, each of the six faces is covered by nine stickers, among six solid colours (traditionally white, red, blue, orange, green, and yellow). A pivot mechanism enables each face to turn independently, thus mixing up the colours. For the puzzle to be solved, each face must be a solid colour. Similar puzzles have now been produced with various numbers of stickers, not all of them by Rubik. The original 3󫢫 version celebrates its thirtieth anniversary in 2010. In Rubik's cubists' parlance, a memorised sequence of moves that has a desired effect on the cube is called an algorithm. This terminology is derived from the mathematical use of algorithm, meaning a list of well-defined instructions for performing a task from a given initial state, through well-defined successive states, to a desired end-state. Each method ...

Efficient Simulation of Inexte
This video describes a new algorithm for cloth simulation. More details can be found on www.cs.colum
Efficient Simulation of Inextensible Cloth
This video describes a new algorithm for cloth simulation. More details can be found on www.cs.columbia.edu We'd like to thank Optitex (www.optitex.com) for the woman model and her animations, as well as the for 3D models of the clothes she's wearing.

Real-Time Markerless 3D Tracki
Edge-Based Markerless 3D Tracking of Rigid Objects using multiple hypotheses. Software used: VideoMa
Real-Time Markerless 3D Tracking
Edge-Based Markerless 3D Tracking of Rigid Objects using multiple hypotheses. Software used: VideoMan, Opencv, OpenGL, levmar jbarandiaran.googlepages.com videomanlib.sourceforge.net Javier Barandiaran Martirena 2007 Note The 3D tracking algorithm is not part of the VideoMan library. VideoMan was used in that project for capturing images from a firewire camera and for displaying 2D & 3D graphics over the images. I have not rights over the 3D tracking code and I can't share it in any way.

Writing a keygen part 2/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for a
Writing a keygen part 2/4
How to write a keygen. This is a tutorial demonstrating the steps involved in writing a keygen for an application. The app (mIRC) is examined in a debugger (Ollydbg) and the keygen algorithm is reverse-engineered. From this, a standalone keygen application is created. This tutorial is for educational purposes only.

Lecture 14 | Programming Abstr
Lecture 14 by Julie Zelenski for the Programming Abstractions Course (CS106B) in the Stanford Comput
Lecture 14 | Programming Abstractions (Stanford)
Lecture 14 by Julie Zelenski for the Programming Abstractions Course (CS106B) in the Stanford Computer Science Department. Julie starts off with algorithm analysis, the big-O notation and introduces sorting. She begins off with a brief overview of what algorithm analysis is and how to utilize it. Later, she continues to go through recursive algorithms and their uses. Complete Playlist for the Course: www.youtube.com CS 106B Course Website: cs106b.stanford.edu Stanford Center for Professional Development scpd.stanford.edu Stanford University: www.stanford.edu Stanford University Channel on YouTube: www.youtube.com

Lecture 28: Random Numbers - R
Extension lecture introducing randomness. What is a random process? How can a deterministic process
Lecture 28: Random Numbers - Richard Buckland UNSW (2008)
Extension lecture introducing randomness. What is a random process? How can a deterministic process on a deterministic computer generate random output? Why is randomness useful? What are problems we face when generating random numbers? The lecture introduces Von Neumann's simple algorithm (which we later analyse in labs), and Knuth's Art of Computer Programming. We briefly revisit the triangle problem. Richard amazes and astounds with magic tricks. Some mention of Shaun of the Dead. Extension lectures are for first year computing students at UNSW. The topics covered are non-examinable, students attend only if they are interested. Richard generally raises more questions than he answers.

Lecture 5: Data Structures and
Counting execution steps, big oh, complexity classes, a priori estimation. Exponential growth, big n
Lecture 5: Data Structures and Algorithms - Richard Buckland
Counting execution steps, big oh, complexity classes, a priori estimation. Exponential growth, big numbers, estimation, huge ants. Emergence. Lecture 5 of comp 1927 data structures and algorithms.

Mystery of Alan Turing - The M
This is a short version of Alan Turings life, achievements, success and death. Pay attention to the
Mystery of Alan Turing - The Man Behind the Modern Computer
This is a short version of Alan Turings life, achievements, success and death. Pay attention to the symbolism of the androgyny, the "all male" creation of the machine, the computer as mans child and dont forget his religiously symbolic death. Turing is often considered to be the father of modern computer science. He provided an influential formalization of the concept of the algorithm and computation with the Turing machine. With the Turing test, meanwhile, he made a significant and characteristically provocative contribution to the debate regarding artificial intelligence: whether it will ever be possible to say that a machine is conscious and can think.

How It Works: A-Star (Pathfind
Part 3 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2:
How It Works: A-Star (Pathfinding) Part 3/3
Part 3 of 3 of my little series on the A-Star pathfinding algorithm. Part 1: www.youtube.com Part 2: www.youtube.com Part 3: www.youtube.com More Indepth information: www.policyalmanac.org All About Heuristics: theory.stanford.edu Any questions feel free to send me a message or post a comment. If you use my library please give me credit, just a thank you and I will be happy! Downloads: AStarTester Application (Compiled) www.megaupload.com AStarTester + LibAStar (Source) www.megaupload.com

CS50 / Week 0: Friday
Introduction. Bits. Binary. ASCII. Programming. Algorithms. Scratch. Statements. Boolean expressions
CS50 / Week 0: Friday
Introduction. Bits. Binary. ASCII. Programming. Algorithms. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Threads. Events. More at cs50.tv

Fast Object Tracking in C++ us
www.bradhayes.info An OpenCV implementation of a self-designed fast object tracking algorithm.
Fast Object Tracking in C++ using OpenCV
www.bradhayes.info An OpenCV implementation of a self-designed fast object tracking algorithm.

Simulated Evolution of a Simpl
This is a showcase of a flash app that can be found here: www.wreck.devisland.net The creator of thi
Simulated Evolution of a Simple Car Using a Genetic Algorithm
This is a showcase of a flash app that can be found here: www.wreck.devisland.net The creator of this app is apparently MIA. If you know how to get in touch with him/her please let me know. The app evolves a car using a genetic algorithm. The initial conditions are randomly generated, and the parameters evolve, breed and mutate into a very fit "ideal" car that is best suited for the given environment. ----------------------- Check out my website. Free Online Homework Help Math and Physics www.AlexPleaseHelp.com

Neural Network learning (recor
"The task of this neural net is to span its map over all blue points (the input values of the net) i
Neural Network learning (recorded Java Applet)
"The task of this neural net is to span its map over all blue points (the input values of the net) in an even way and without crossing one point twice. This problem is similar to the classic Travelling Salesman Problem, where the shortest path between a certain number of cities is to be found without passing one city twice. Using conventional methods, like the backtracking algorithm, this problem can't be solved on any computer in time for a number of cities greater than about 25" To learn more about neural networks or to see the applet look yourself at: fbim.fh-regensburg.de

High Dynamic Range Image Hallu
Microsoft Research research.microsoft.com We introduce high dynamic range image hallucination for ad
High Dynamic Range Image Hallucination
Microsoft Research research.microsoft.com We introduce high dynamic range image hallucination for adding high dynamic range details to the over-exposed and under-exposed regions of a low dynamic range image. Our method is based on a simple assumption: there exist high quality patches in the image with similar textures as the regions that are over or under exposed. Hence, we can add high dynamic range details to a region by simply transferring texture details from another patch that may be under different illumination levels. In our approach, a user only needs to annotate the image with a few strokes to indicate textures that can be applied to the corresponding under-exposed or over-exposed regions, and these regions are automatically hallucinated by our algorithm. Experiments demonstrate that our simple, yet effective approach is able to significantly increase the amount of texture details in a wide range of common scenarios, with a modest amount of user interaction.

Arduino robot controlled by Ne
My first attempt in neural networks. I connected 1 adruino mega, 3 servos, 1 analog infrared receive
Arduino robot controlled by Neural Network
My first attempt in neural networks. I connected 1 adruino mega, 3 servos, 1 analog infrared receiver, 3 contacts and 2 encoders from an old printer. I use a genetic algorithm that trains the 5-7-2 neural network (5 inputs, 7 neurons in the hidden layer and 2 in output). The 5 inputs are the 5 areas that the IR scans using the third servo, and the 2 outputs are the speed of each wheel servo. More info in greek language here: www.grobot.gr Enjoy :)

Post you comment here

Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

There are 0 comment(s) to this page.



The questions and answers taken from stackoverflow.com's public data dump which is licensed under the cc-wiki license.
Logo, website design and layout 2011 CodingTiger.com