Forums: » Register « |  Free Tools |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

New Free Tools on Dev Shed!

#16
August 22nd, 2003, 12:28 PM
 percivall
Contributing User

Join Date: Jul 2003
Posts: 133
Time spent in forums: < 1 sec
Reputation 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?

#17
August 22nd, 2003, 04:45 PM
 netytan
Hello World :)

Join Date: Mar 2003
Location: Hull, UK
Posts: 2,537
Time spent in forums: 1 Week 2 Days 18 h 17 m 47 sec
Reputation Power: 68
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.

#18
August 22nd, 2003, 04:58 PM
 Scorpions4ever
Banned ;)

Join Date: Nov 2001
Location: Woodland Hills, Los Angeles County, California, USA
Posts: 9,536
Time spent in forums: 2 Months 3 Days 6 h 2 m 28 sec
Reputation Power: 4106
>> 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.
__________________
Up the Irons
What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
"Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
Down with Sharon Osbourne

#19
August 22nd, 2003, 08:30 PM
 percivall
Contributing User

Join Date: Jul 2003
Posts: 133
Time spent in forums: < 1 sec
Reputation 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.

#20
August 23rd, 2003, 02:18 AM
 netytan
Hello World :)

Join Date: Mar 2003
Location: Hull, UK
Posts: 2,537
Time spent in forums: 1 Week 2 Days 18 h 17 m 47 sec
Reputation Power: 68
Quote:
 ..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.

#21
August 25th, 2003, 07:35 AM
 netytan
Hello World :)

Join Date: Mar 2003
Location: Hull, UK
Posts: 2,537
Time spent in forums: 1 Week 2 Days 18 h 17 m 47 sec
Reputation Power: 68

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.

#22
August 25th, 2003, 09:25 AM
 percivall
Contributing User

Join Date: Jul 2003
Posts: 133
Time spent in forums: < 1 sec
Reputation Power: 11
Good. Python is moving further away from type-dependency. With the revised division, it'll get even better.

#23
August 25th, 2003, 11:03 AM
 netytan
Hello World :)

Join Date: Mar 2003
Location: Hull, UK
Posts: 2,537
Time spent in forums: 1 Week 2 Days 18 h 17 m 47 sec
Reputation Power: 68
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.

 Viewing: Dev Shed Forums > Programming Languages > Python Programming > implement crc32 in pythonhi some one told me that python has a built in crc32 functio