WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Väääldigt stora tal/nummer/nånting (https://www.wn.se/forum/showthread.php?t=1056259)

secag 2013-01-04 01:27

Väääldigt stora tal/nummer/nånting
 
Hej,

Jag sitter och spelar ett webbläsarspel där min "cash" alltså stålar är över

100.000.000.000.000.000.000.000.000.000

alltså 29 nollor.

Detta kan ju inte en BIGINT eller INT klara av. Jag vet att databasen dom använder är MySQL och dom använder PHP.

Hur kan dom lagra det? Har för mig att inte ens PHP klarar av att hantera såna stora tal?

tartareandesire 2013-01-04 11:04

Du kan välja lite olika varianter beroende på krav och behov - lagra det som en sträng, binärt, exponentiellt eller dela upp på flera kolumner.

Danski 2013-01-04 11:20

Använd BINARY alternativt dela upp i flera kolumner.

secag 2013-01-10 22:18

Jag har försökt googla mig fram till någon men jag hittar ingenting. Vill ni länka något exempel eller bra förklaring?

Conny Westh 2013-01-11 03:03

Hittade denna kod i C# på CodeProjekt för BigInteger med extremt många siffrors noggrannhet, exempel på 512 bitar:

http://www.codeproject.com/Articles/...gInteger-Class

Exempelkoden är på över 129K bytes (max 10K i inlägg på WN) annars hade jag kunnat laddat upp den här.

secag 2013-01-11 09:23

kommer inte åt filen.

Men kan man inte lagra nummer som varchar som någon nämnt och sedan använda bc_match i PHP för att räkna osv..?

tartareandesire 2013-01-11 11:06

Citat:

Ursprungligen postat av secag (Inlägg 20459273)
kommer inte åt filen.

Men kan man inte lagra nummer som varchar som någon nämnt och sedan använda bc_match i PHP för att räkna osv..?

Om du bara ska lagra talen funkar det bra men det blir inte särskilt smidigt om du måste sortera, göra beräkningar osv. Då bör du välja binär lagring, alternativt använda dig av flera kolumner.

secag 2013-01-11 14:58

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20459280)
Om du bara ska lagra talen funkar det bra men det blir inte särskilt smidigt om du måste sortera, göra beräkningar osv. Då bör du välja binär lagring, alternativt använda dig av flera kolumner.

Var också inne på binär eftersom som en kompis rekommenderade. Gör ett text RPG till kund och han vill då att en karaktärs pengar skall kunna bli hur mycket som helst(i alla fall över BIGINT som är det ja tänkte använda). Ska testa BINARY och återkommer med något resultat.

Är det föresten bättre att göra uträkningarna i PHP eller direkt i queryn?

Conny Westh 2013-01-11 15:48

Citat:

Ursprungligen postat av secag (Inlägg 20459273)
kommer inte åt filen.

Men kan man inte lagra nummer som varchar som någon nämnt och sedan använda bc_match i PHP för att räkna osv..?

Slängde upp originalfilerna i Dropboxen.... Håll till godo...


https://dl.dropbox.com/u/33944460/We...teger_demo.zip

https://dl.dropbox.com/u/33944460/We...nteger_src.zip


Dessa klasser är till förgöra beräkningar och använda BigInteger som datatyp i programkoden, men lagringen får man ta till lämpliga knep beroende på viken databas eller annat lagringsformat man använder.


Alla tider är GMT +2. Klockan är nu 07:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson