Νέα:
Παρασκευή 19 Απριλίου 2024

Shoutbox!

Toula Aretaki

19-02-2024 13:17
Καλημέρα,γνωρίζει κανείς εάν το πτυχίο διοίκησης επιχειρήσεων μπορούμε να πάρουμε βεβαίωση χρήσης H/Y;

Debbie422657

11-01-2024 00:11
Καλησπέρα σας, ψάχνω σημειώσεις για μαθήματα του οικονομικού. Υπάρχει κάποιος που μπορεί να με βοηθήσει;

Alexis92

31-10-2023 21:12
γερασαμε

Timos Chartios

17-08-2023 03:00
Ψάχνω ρε παιδιά την Ιωάννα μετά από χρόνια από Διοίκηση ήταν στη ΠΑΣΠ το2010. Χαθήκαμε πέρασε δεκαετία και...

elisavet

03-04-2023 14:47
Καλησπερα μετα απο καιρο μπηκα και εγω να ζητησω υλη, σημειωσεις. μακρο αγγλικα διοικ.ολ. ποιοτητας,μαρκετινγ οτι εχετε

mar99

08-03-2023 05:33
εχω τελειωσει τει σερρων 1999 διοικηση οικονομια τμημα λογιστικης απο που θα παρω μια βεβαιωση σπουδων που χρειαζομαι

ΕΥΑΓΓΕΛΙΑ@

28-02-2023 10:03
ΚΑΛΗΜΕΡΑ ΣΑΣ!
ΕΧΩ ΧΡΟΝΙΑ ΝΑ ΚΑΝΩ ΕΓΓΡΑΦΗ ΕΞΑΜΗΝΩΝ ΚΑΙ ΘΑ ΗΘΕΛΑ ΝΑ ΚΑΝΩ ΤΩΡΑ. ΜΠΟΡΕΙ ΚΑΠΟΙΟΣ ΝΑ ΓΡΑΨΕΙ ΠΩΣ ΓΙΝΕΤΑΙ?ΕΥΧΑΡΙ

sony400

07-02-2023 21:03
Άλλη μια εξεταστική έφτασε στο τέλος της σχεδόν. Εύχομαι σε όλους/ες να έφτσαν λίγο περισσότερο στον στόχο τους.

ALS

23-10-2022 17:28
Καλησπέρα!!Πέρασαν 12 χρόνια που ήμουν πρώτο έτος !! 😅

marios9

17-10-2022 11:16
Καλημέρα σε όλους.

armiertz

24-09-2022 15:44
Είμαι στην Λογιστική. Έχω να έρθω πολλά χρόνια και έχουν αλλάξει πολλά. Για αυτό θέλω σημειώσεις μπας και πάρω το πτυχίο

tonidemis

24-09-2022 00:18
Armiertz Σου έστειλα μήνυμα

armiertz

03-08-2022 12:50
Μπορεί να μου πει κανείς που μπορώ να βρω σημειώσεις των μαθημάτων γιατί η παρουσία μου στα μαθήματα είναι λίγο αδύνατη

armiertz

03-08-2022 12:49
Καλησπέρα. Είμαι καινούρια στο forum αλλά παλιά φοιτήτρια του τει που επιτέλους πήρα την απόφαση να ολοκληρώσω το πτυχίο
 

Sérmac

28-07-2022 19:25

Εμφάνιση 50 τελευταίων
Καλώς ορίσατε, Επισκέπτης. Παρακαλούμε συνδεθείτε ή εγγραφείτε. Χάσατε το email ενεργοποίησης;
19 Απριλίου 2024, 00:03

Σύνδεση με όνομα, κωδικό και διάρκεια σύνδεσης

Μέλη
  • Σύνολο μελών: 5294
  • Τελευταία: AreusTes

Στατιστικά
  • Σύνολο μηνυμάτων: 83541
  • Σύνολο θεμάτων: 10650
  • Σε σύνδεση σήμερα: 40
  • Σε σύνδεση έως τώρα: 1245
  • (16 Απριλίου 2022, 00:20)

Συνδεδεμένοι
Μέλη: 0
Επισκέπτες: 21
Σύνολο: 21

Για να γραφτείτε σε κάποια ομάδα μελών, πατήστε εδώ.

Μέσα Μεταφοράς

Αστικό ΚΤΕΛ Σερρών
ΚΤΕΛ Ν. Σερρών
Δρομολόγια ΤΡΑΙΝΟΣΕ

Πρόσφατα

Υπηρεσίες ΕΔΕΤ

Εύδοξος
Okeanos
Άτλας
Ακαδημαϊκή Ταυτότητα
Σελίδες: [1] 2 3   Κάτω
Εκτύπωση
Άσκηση CRC;;;
0 μέλη και 1 επισκέπτης διαβάζουν αυτό το θέμα. Αναγνώστηκε 22767 φορές.
Xaeron
Μηχανικών Πληροφορικής ΤΕ
Πληροφορικής & Επικοινωνιών
*
Μηνύματα: 3205
Θετικοί ψήφοι: +40

Αποσυνδεδεμένος Αποσυνδεδεμένος

If you smell...what Xaeron...is cooking...

Άντρας
05 Φεβρουαρίου 2010, 21:32
0

Έχει κανείς σημειώσεις με κανένα ολοκληρωμένο παράδειγμα του αλγορίθμου CRC, εκτός από τις σημειώσεις/διαφάνειες του κ. Χειλά; Η έστω λυμένη την άσκηση που έχει ο κ. Χειλας.  ??? ??? Please, βοήθεια...!  :(

Τελευταία τροποποίηση: 05 Φεβρουαρίου 2010, 21:54 από Xaeron Καταγράφηκε
lafs
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 839
Θετικοί ψήφοι: 0

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας WWW
Απάντηση #1 - 05 Φεβρουαρίου 2010, 23:13
0

Ολοκληρωμένο παράδειγμα αλγορίθμου CRC.

Κώδικας: [Επιλογή]
/**********************************************************************
 *
 * Filename:    crc.c
 *
 * Description: A table-driven implementation of CRC-CCITT checksums.
 *
 * Notes:       Some of the constants in this file are specific to
 *              Arcom's Target188EB hardware.
 *
 *              This code can be easily modified to implement any
 *              "non-reflective" CRC algorithm.  Simply change the
 *              constants POLYNOMIAL, INITIAL_REMAINDER, FINAL_XOR,
 *              and--if an 8 or 32-bit CRC is required--the definition
 *              of type 'width'.
 *
 *
 * Copyright (c) 1998 by Michael Barr.  This software is placed into
 * the public domain and may be used for any purpose.  However, this
 * notice must not be changed or removed and no warranty is either
 * expressed or implied by its publication or distribution.
 **********************************************************************/

#include <string.h>
#include "led.h"

/*
 * The CRC parameters.  Currently configured for CCITT.
 * Simply modify these to switch to another CRC standard.
 */
#define POLYNOMIAL          0x1021
#define INITIAL_REMAINDER   0xFFFF
#define FINAL_XOR_VALUE     0x0000

/*
 * The width of the CRC calculation and result.
 * Modify the typedef for an 8 or 32-bit CRC standard.
 */
typedef unsigned short width;

#define WIDTH  (8 * sizeof(width))
#define TOPBIT (1 << (WIDTH - 1))

/*
 * An array containing the pre-computed intermediate result for each
 * possible byte of input.  This is used to speed up the computation.
 */
width crcTable[256];

/**********************************************************************
 *
 * Function:    crcInit()
 *
 * Description: Initialize the CRC lookup table.  This table is used
 *              by crcCompute() to make CRC computation faster.
 *
 * Notes:       The mod-2 binary long division is implemented here.
 *
 * Returns:     None defined.
 *
 **********************************************************************/
void
crcInit(void)
{
    width remainder;              
    width dividend;              
    int bit;                  

    /*
     * Perform binary long division, a bit at a time.
     */
    for (dividend = 0; dividend < 256; dividend++)
    {
        /*
         * Initialize the remainder.
         */
        remainder = dividend << (WIDTH - 8);

        /*
         * Shift and XOR with the polynomial.
         */
        for (bit = 0; bit < 8; bit++)
        {
            /*
             * Try to divide the current data bit.
             */
            if (remainder & TOPBIT)
            {
                remainder = (remainder << 1) ^ POLYNOMIAL;
            }
            else
            {
                remainder = remainder << 1;
            }
        }

        /*
         * Save the result in the table.
         */
        crcTable[dividend] = remainder;
    }

}   /* crcInit() */


/**********************************************************************
 *
 * Function:    crcCompute()
 *
 * Description: Compute the CRC checksum of a binary message block.
 *
 * Notes:       This function expects that crcInit() has been called
 *              first to initialize the CRC lookup table.
 *
 * Returns:     The CRC of the data.
 *
 **********************************************************************/
width
crcCompute(unsigned char * message, unsigned int nBytes)
{
    unsigned int offset;
    unsigned char byte;
    width remainder = INITIAL_REMAINDER;

    /*
     * Divide the message by the polynomial, a byte at time.
     */
    for (offset = 0; offset < nBytes; offset++)
    {
        byte = (remainder >> (WIDTH - 8)) ^ message[offset];
        remainder = crcTable[byte] ^ (remainder << 8);
    }

    /*
     * The final remainder is the CRC result.
     */
    return (remainder ^ FINAL_XOR_VALUE);

}   /* crcCompute() */


/**********************************************************************
 *
 * Function:    main()
 *
 * Description: Test the CRC functions by computing the CRC-CCITT of
 *              the check string "123456789".  The expected result
 *              was provided by an independent third-party.
 *
 * Notes:
 *
 * Returns:     0 on success.
 *              Otherwise -1 indicates failure.
 *
 **********************************************************************/
main()
{
    #define CCITT_CHECK 0x29B1

    char * s = "123456789";

    /*
     * Initialize the CRC lookup table.
     */
    crcInit();

    /*
     * Compute the CRC of the check string.
     */
    if (crcCompute(s, strlen(s)) != CCITT_CHECK)
    {
        toggleLed(LED_RED);
        return (-1);
    }
    else
    {
        toggleLed(LED_GREEN);
        return (0);
    }

}   /* main() */
Καταγράφηκε

Efstathios Chatzikyriakidis (efxa)
Informatics & Communications Engineer (BSc)

WEB: efxa.org - EMAIL: contact@efxa.org
Xaeron
Μηχανικών Πληροφορικής ΤΕ
Πληροφορικής & Επικοινωνιών
*
Μηνύματα: 3205
Θετικοί ψήφοι: +40

Αποσυνδεδεμένος Αποσυνδεδεμένος

If you smell...what Xaeron...is cooking...

Άντρας
Απάντηση #2 - 06 Φεβρουαρίου 2010, 02:35
0

Ευχαριστώ αλλά δεν θέλω τον κώδικα...
Καταγράφηκε
lafs
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 839
Θετικοί ψήφοι: 0

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας WWW
Απάντηση #3 - 06 Φεβρουαρίου 2010, 12:31
0

... ολοκληρωμένο παράδειγμα του αλγορίθμου CRC ...

Τι ακριβώς θέλεις?
Καταγράφηκε

Efstathios Chatzikyriakidis (efxa)
Informatics & Communications Engineer (BSc)

WEB: efxa.org - EMAIL: contact@efxa.org
Xaeron
Μηχανικών Πληροφορικής ΤΕ
Πληροφορικής & Επικοινωνιών
*
Μηνύματα: 3205
Θετικοί ψήφοι: +40

Αποσυνδεδεμένος Αποσυνδεδεμένος

If you smell...what Xaeron...is cooking...

Άντρας
Απάντηση #4 - 06 Φεβρουαρίου 2010, 13:15
0

Ένα ολοκληρωμένο παράδειγμα όπως αυτό που έχει στις διαφάνειες του κ. Χειλά.
Καταγράφηκε
lafs
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 839
Θετικοί ψήφοι: 0

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας WWW
Απάντηση #5 - 06 Φεβρουαρίου 2010, 16:50
0

Τελικά εννοούσες παράδειγμα από τις σημειώσεις του Χειλά.

ΟΚ. Δεν το έχω παρακολουθήσει γιατί τώρα μπαίνω στο 6 εξάμηνο.

Πάντως θεωρώ πως αυτό το παράδειγμα είναι κατατοπιστικότατο.

Για να βρεις και σχετική θεωρία από αυτό σου προτείνω να διαβάσεις το ανάλογο κεφάλαιο του βιβλίου:

http://oreilly.com/catalog/9781565923546
Καταγράφηκε

Efstathios Chatzikyriakidis (efxa)
Informatics & Communications Engineer (BSc)

WEB: efxa.org - EMAIL: contact@efxa.org
differentreality
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 602
Θετικοί ψήφοι: +20

Αποσυνδεδεμένος Αποσυνδεδεμένος

Γυναίκα
Απάντηση #6 - 06 Φεβρουαρίου 2010, 18:36
+11

Είναι πολύ εύκολο... Σου δίνεται:
->  ένα μήνυμα σε ακολουθία από 0 και 1, π.χ. 1100101
->  και ένας γεννήτορας
    - είτε σε ακολουθία από 0 και 1 πάλι, δλδ 110011,
    - είτε στη μορφή G(x)=x^5 + x^4 + x + 1

(το G(x)=x^5 + x^4 + x + 1 ισούται με το 110011, νομίζω είναι προφανές πώς προκύπτει, όπου έχουμε όρο βάζουμε 1 όπου λείπει, όπως πχ στις δυνάμεις του 2 και του 3, τότε βάζουμε 0)

Άρα με τα 2 αυτά δεδομένα κάνεις τα εξής:

1.  Προσθέτεις στο τέλος του μηνύματος που θέλεις να μεταδώσεις μηδενικά (Πόσα μηδενικα?  Όσο ο αριθμός των ψηφίων του γεννήτορα μείον 1)


2.  Διαιρείς το μήνυμα που προκύπτει (μήνυμα προς μετάδοση ακολουθούμνενο από τα απαραίτητα 0) με τον γεννήτορα

3.  Παίρνεις το υπόλοιπο της διαίρεσης και το προσθέτεις στο μήνυμα προς μετάδοση (το αρχικό μήνυμα ΧΩΡΙΣ τα μηδενικά που προσθέσαμε για τη διαίρεση)

4.  Άρα το μήνυμα που αποστέλλεται τελικά είναι το αρχικό μήνυμα που μας δόθηκε ακολουθούμενο από το υπόλοιπο της διαίρεσης

5.  Ο παραλήπτης παίρνει το μήνυμα αυτό και το διαιρεί με τον γεννήτορα, αν το υπόλοιπο της διαίρεσης βγει 0 τότε έχει λάβει το σωστό μήνυμα, αν βγει διάφορο του μηδενός, το μήνυμα έχει σφάλμα.

*Σημείωση1:  Η διαίρεση είναι ουσιαστικά XOR (στο XOR όταν έχεις όμοια ψηφία το αποτέλεσμα είναι 0 ενώ αν είναι διαφορετικά το αποτέλεσμα είναι 1)
*Σημείωση2:  Αν στη διαίρεση το πρώτο ψηφίο είναι 0 τότε ΔΕ διαιρούμε με το πολυώνυμο γεννήτορα αλλά με ακολουθία από μηδενικά.  

Π.Χ.

Έστω ότι ο αποστολέας θέλει να μεταδώσει το μήνυμα 1100101 με γεννήτορα G(x) = x^3 + x + 1, ποιο είναι το μήνυμα που θα αποσταλεί τελικά?

Το πολυώνυμο του γεννήτορα ισούται με 1011 και έχει σύνολο 4 ψηφία.  
Άρα εμείς στο αρχικό μας μήνυμα θα προσθέσουμε 3 μηδενικά και θα προκύψει το 1100101000

Διαιρούμε ως εξής:

1 1 0 0 1 0 1 0 0 0 | 1 0 1 1
1 0 1 1              
_______            
0 1 1 1 1 (το υπόλοιπο της διαίρεσης/XOR είναι το 0111 και κατεβάζουμε και τον άσσο)
  1 0 1 1
_________
  0 1 0 0 0
    1 0 1 1
   _________
    0 0 1 1 1 (ΠΡΟΣΟΧΗ το υπόλοιπο είναι 0011, κατεβάζουμε και έναν άσσο και θα κάναμε XOR
      0 0 0 0         το 0111 με το 1011 ΑΛΛΑ το 0111 ξεκινάει με 0 άρα θα κάνουμε ΧΟR με μηδενικά!!!)
    __________
      0 1 1 1 0
        1 0 1 1
       _________
        0 1 0 1 0
          1 0 1 1
         _________
          0 0 0 1 0 (Προσοχή και εδώ έχουμε 0 άρα διαιρούμε με μηδέν! Ουσιάστικά μας ενδιαφέρει
            0 0 0 0         το 2ο ψηφίο από το υπόλοιπο, στην προκειμένη περίπτωση είναι το 0001)
           __________
            0 0 1 0

Άρα προκύπτει το υπόλοιπο 0010, άρα το μήνυμα που θα αποστείλουμε θα είναι το    1100101010

Ο παραλήπτης θα κάνει την διαίρεση με τον ίδιο ακριβώς τρόπο διαιρώντας το μήνυμα που στάλθηκε (και παρέλαβε), δλδ το 1100101010 με τον γεννήτορα 1011.  Το υπόλοιπο της διαίρεσης θα πρέπει να βγει 0.

Αν προκύψει σφάλμα και ο παραλήπτης λάβει μήνυμα διαφορετικό από αυτό που στάλθηκε τότε η διαίρεση με τον γεννήτορα ΔΕ θα δώσει 0.
Τελευταία τροποποίηση: 28 Ιανουαρίου 2011, 22:47 από Sermac Καταγράφηκε
Xaeron
Μηχανικών Πληροφορικής ΤΕ
Πληροφορικής & Επικοινωνιών
*
Μηνύματα: 3205
Θετικοί ψήφοι: +40

Αποσυνδεδεμένος Αποσυνδεδεμένος

If you smell...what Xaeron...is cooking...

Άντρας
Απάντηση #7 - 09 Φεβρουαρίου 2010, 07:58
+2

differentreality, σε ευχαριστώ πάρα πολύ! Ήσουν αρκετά κατανοητή!
Καταγράφηκε
differentreality
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 602
Θετικοί ψήφοι: +20

Αποσυνδεδεμένος Αποσυνδεδεμένος

Γυναίκα
Απάντηση #8 - 09 Φεβρουαρίου 2010, 09:19
0

no prob ;)  αλλα κοίτα να σκίσεις στο μάθημα ε :p
Καταγράφηκε
Mini
Μηχανικών Πληροφορικής ΤΕ
***
Μηνύματα: 509
Θετικοί ψήφοι: +106

Αποσυνδεδεμένος Αποσυνδεδεμένος

Γυναίκα
Απάντηση #9 - 12 Ιουνίου 2010, 16:40
+1

παιδιά στα θέματα θεωρίας "σε περίπτωση που αλλοιωθούν κάποια bits απο την ακολουθία του μηνύματος ποιο θα ειναι το αποτέλεσμα της διαίρεσης" πως απαντάμε;
Καταγράφηκε
Σελίδες: [1] 2 3   Πάνω
Εκτύπωση