### Thread: implement crc32 in pythonhi some one told me that python has a built in crc32 functio

Page 2 of 2 First 12
1. No Profile Picture
Contributing User
Devshed Newbie (0 - 499 posts)

Join Date
Jul 2003
Posts
133
Rep Power
11
My question is this:

Given the ability transform an integer number into a long integer number, with each value of the long integer number equal to the integer number -- within the range of integer numbers -- and each value of the long integer number equal to the value of the integer number automatically converted to a long integer number without the range of integer numbers; and given that any calculation wherein the integer number and the long integer number both could participate would result in the same value (with in mind that the value-result of a long integer would be the same as the value-result of an integer), to what good use will a "function" to convert (transform) an integer to a long integer be?
What can you not accomplish without that function?
2. Translating from percivall English... disregard all the crap at the beginning ... the question is what can you not do without the long() function.

I have no idea (as I said I've never had a cause to use them), long int's must have some advantages over of int's for certain things?

Like all the type-cast function's it's usefull for converting one type to another (a long int), say you had a string containing numbers and you needed it as a long int for whatever reason it would make sence to just call long on that string wouldn't it?

Have fun,
Mark.
3. >> to what good use will a "function" to convert (transform) an integer to a long integer be?
Let's say you have one fairly large integer, which you intend to multiply with another fairly large integer. If there's a chance that the product of the two integers is larger than what an integer variable can hold, then you'll have an OverflowError. Now let's say you convert one of those numbers to long. Then, the product of a long and an integer will be a long number (which for Python can be as large as the RAM will allow it to be). To illustrate this, consider the following code samples.
Sample 1:
Code:
```x = 1234567890
y = x
print x * y```
Sample 2:
Code:
```x = 1234567890
y = long(x)
print x * y```
Notice that sample 1 will fail with an overflow error, whereas sample 2 will run just fine.
4. No Profile Picture
Contributing User
Devshed Newbie (0 - 499 posts)

Join Date
Jul 2003
Posts
133
Rep Power
11
Sorry, but I'm just not getting the same results as you, Scorps.
Code:
```>>> sys.maxint * sys.maxint
4611686014132420609L
>>> sys.maxint * long(sys.maxint)
4611686014132420609L
>>>```
I haven't yet been able to get an OverflowError.
5. ..and that if a number is too long to be an int it's automatically cast as a long..
I know I'm kinda strange and bable about crap but on occassion I'm worth listening to .. maybe.

Have fun guys,
Mark.

Apparently between 2.1 and 2.2 some changes were made to overflow on ints.. "Overflowing int operations return the corresponding long value rather than raising the OverflowError exception".. .

so if your using 2.1 Scorp i can see why you are getting the OverflowError.

Mark.
7. No Profile Picture
Contributing User
Devshed Newbie (0 - 499 posts)

Join Date
Jul 2003
Posts
133
Rep Power
11
Good. Python is moving further away from type-dependency. With the revised division, it'll get even better.
8. Definatly a good thing! Were slowly heading towards Python 3 but I think we can expect some great improvments!

The next major release, Python 2.4 will see another big speed increase, something I'm sure were all looking forward too. But it's too early to tell what else the Python team will pull togther for this release

Mark.
Page 2 of 2 First 12