Verwendung des% -Operators für Float-Werte in c

7

Wenn ich% operator auf float-Werten verwende, bekomme ich den Fehler, dass "ungültige Operanden zu binary% (habe 'float' und 'double')". Ich möchte nur den Ganzzahlen-Wert eingeben, aber die Zahlen sind sehr groß (nicht im Bereich von int-Typ), um die Unannehmlichkeiten zu vermeiden, verwende ich float.Ist es möglich,% Operator auf solche großen Integer-Werte zu verwenden ????

    
Shiv Shakti 21.09.2011, 12:56
quelle

6 Antworten

11
___ answer7500774 ___

Der Operator fmod ist nur für Integer-Operanden definiert. Sie müssen die Funktionen <math.h> library für Fließkommatypen verwenden:

%Vor%     
___ qstnhdr ___ Verwendung des% -Operators für Float-Werte in c ___ answer7500180 ___

Sie verwenden wahrscheinlich %code% , was in den meisten Systemen eine höhere Genauigkeit als %code% hat.

Hinweis: Wenn Ihre Zahlen größer sind als ein %code% enthalten kann, verhält sich %code% wahrscheinlich nicht so, wie Sie es möchten. In diesem Fall ist deine beste Wette eine Bigint-Bibliothek, wie zum Beispiel diese .

    
___ qstntxt ___

Wenn ich% operator auf float-Werten verwende, bekomme ich den Fehler, dass "ungültige Operanden zu binary% (habe 'float' und 'double')". Ich möchte nur den Ganzzahlen-Wert eingeben, aber die Zahlen sind sehr groß (nicht im Bereich von int-Typ), um die Unannehmlichkeiten zu vermeiden, verwende ich float.Ist es möglich,% Operator auf solche großen Integer-Werte zu verwenden ????

    
___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ tag123math ___ Mathematik ist das Studium von Quantität, Struktur, Raum und Veränderung. Alle mathematischen Fragen auf dieser Website sollten programmbezogen sein. ___ answer47294669 ___

Wenn ich keinen einfachen Zugriff auf %code% oder andere Bibliotheken hatte (zum Beispiel eine schnelle Arduino-Skizze), finde ich Folgendes gut genug:

%Vor%     
___ answer7534638 ___

Wenn Sie eine int-Verwendung lange verwenden möchten, verwenden Sie kein Format, das für Ihr Problem nicht ideal ist, wenn ein besseres Format vorhanden ist.

    
___ answer7500213 ___

beachte: int 32 bit und long long int von 64 bit

Ja,% (modulo) -Operator funktioniert nicht mit floats und double .. Wenn Sie die modulo-Operation für große Zahlen durchführen möchten, können Sie %code% überprüfen, um Ihnen zu helfen.

immer noch der Bereich größer als 64 Bits, dann müssen Sie die Daten in .. string speichern und die Modulo-Operation algorithmisch durchführen.

oder Sie können zu jeder Skriptsprache wie python

gehen     
___
cyco130 21.09.2011, 12:58
quelle
5

Sie verwenden wahrscheinlich long long , was in den meisten Systemen eine höhere Genauigkeit als double hat.

Hinweis: Wenn Ihre Zahlen größer sind als ein long long enthalten kann, verhält sich fmod wahrscheinlich nicht so, wie Sie es möchten. In diesem Fall ist deine beste Wette eine Bigint-Bibliothek, wie zum Beispiel diese .

    
Marcelo Cantos 21.09.2011 13:00
quelle
4

Der Operator % ist nur für Integer-Operanden definiert. Sie müssen die Funktionen fmod* library für Fließkommatypen verwenden:

%Vor%     
John Bode 21.09.2011 13:42
quelle
0

beachte: int 32 bit und long long int von 64 bit

Ja,% (modulo) -Operator funktioniert nicht mit floats und double .. Wenn Sie die modulo-Operation für große Zahlen durchführen möchten, können Sie long long int(64bits) überprüfen, um Ihnen zu helfen.

immer noch der Bereich größer als 64 Bits, dann müssen Sie die Daten in .. string speichern und die Modulo-Operation algorithmisch durchführen.

oder Sie können zu jeder Skriptsprache wie python

gehen     
Aman Agarwal 21.09.2011 13:02
quelle
0

Wenn Sie eine int-Verwendung lange verwenden möchten, verwenden Sie kein Format, das für Ihr Problem nicht ideal ist, wenn ein besseres Format vorhanden ist.

    
Irony 23.09.2011 20:45
quelle
0

Wenn ich keinen einfachen Zugriff auf fmod oder andere Bibliotheken hatte (zum Beispiel eine schnelle Arduino-Skizze), finde ich Folgendes gut genug:

%Vor%     
Tom Auger 14.11.2017 20:31
quelle

Tags und Links