וואָס איז וואס? · bei.pm

דער טעקסט איז אוטומאַטיש איבערגעזetzt געווארן דורך OpenAI GPT-4o Mini

In דער אָפּשטימונג זענען דאָ אַרטיקלען וועגן דאַטע פֿאָרמאַטן און רעווערס אינזשעניריע.

נאָך איז עס אַזוי:
עס זענען דאָ וועגן פילע פּראָגראַמירשפּראַכן און פילע מענטשן, וואָס באַקענען זיך מיט עטלעכע זאכן אונטער גאַנץ אַנדערע נעמען - אָדער האָבן אפילו קיין געדאַנק פון דער עקזיסטענץ פֿון יסודישע זאכן, ווייל זייער פּראָגראַמירשפּראַך האָט דאָס פֿון זיי אָפּשטאַמט.

tl;dr:
מיינע נאָטאַציע איז געשטיצט אויף C99 <stdint.h>. ווער קען זיך פֿאַרשטיין מיט דער נאָטאַציע, וועט זיכער קענען זיך פאַרשטיין מיט מיינע נאָטאַציע.

אינטערגער

אינטעגערס זענען פשוט געשאגט גאַנץ-צahlen, כלומר צahlen אָן נאַכקאָמאַ- טייל.

דערווייַל זענען אינטעגערס אין דאַטאַ פֿאָרמאַטן אין אַלע רעגעלן אין אַ פיקסט נומער ספּעקטרום, כמעט אַן אויסלייג, דעפֿינירט. איך געב דאָס אין ביט - פֿאַר דעם רעזאָן, ווייל אַ "בייט" און אויף דעם געבאַויעדיקע טייפּס (וואָרד, קוואָרד, ...) זענען אין אַלע רעגעלן פּלאַטפֿאָרמע-אַבעהענגיק.

צוגעבן צו דעם, פֿאַרשטייט מען אויך צווישן אינטעגער-טייפּס צווישן נאַטירלעך צahlen (ℕ, כלומר, אָן אָפּצייכן - Unsigned) און גאַנצע צahlen (ℤ, כלומר, מיט אָפּצייכן - Signed).
די אינפֿאָרמאַציע איז איבער אַן אָפּצייכן אין דער באַצייכענונג (u אָדער s) צו זען.

דערווייַל איז עס מעגלעך, אַז אָפּצייכן-באַהאַפטיקע גאַנץ צahlen קען זיין אָדער ווי איינע קאָמפּלעמענט געוויזן אָדער ווי צוויי קאָמפּלעמענט.
So lange עס איז נישט אַנדערש געוויזן, וועט מען נוצן צוויי קאָמפּלעמענט, ווייל עס איז אין דער מודרנער אינפֿאָרמאַטיק די באַפריעטע געוויזן.

אָפּצייכן-לאָזערע צahlen ווערן פון מיר אין מיינע דאָקומענטאַציעס ווי uint געוויזן, מיט דערנאָכדיקער אינפֿאָרמאַציע פון די גאַוואַלט אין ביטן.
אָפּצייכן-באַהאַפטיקע צahlen ווערן פון מיר אין מיינע דאָקומענטאַציעס ווי sint געוויזן, אויך מיט דערנאָכדיקער אינפֿאָרמאַציע פון די גאַוואַלט אין ביטן.

איך פאַרבעט אויף די נוצן פון דער דאַטע-טיפּ "char" פֿאַר אותיות, ווייל אותיות-שטראָמען אין דער רעגעלע נאָר אינטעגער-ווערט-שטראָמען מיט אַן ספּעציעלער אינטערפּריטאַציע פאָרשטעלן.
די וועלן דאָרטן ווי uint(8)[] געוויזן.

בײַשפּילן:

נאָטאַציע C99 stdint.h-אַקוואַוואַלענט בeschreibung צahlenרום
uint(16) uint16_t אונגעזיינט אינטיגער, 16 ביט לענג 0 - 65.535
sint(8) int8_t געזיינט אינטיגער, 8 ביט לענג, צוויי-u-komplement -126 - 127
uint(24) uint32_t:24 אונגעזיינט אינטיגער, 24 ביט לענג 0 - 16.777.216

פֿעסטקאָממאַ-ווערט

פעסטקאָממאַ-וו ערטן זענען צahlen פֿון דעם ספּעקטראם פֿון ראַציאָנאַלע צahlen (Q), וואָס האָבן אַ קאָממאַ און נאך-קאָממאַ-שטעלן.

פֿאַר פעסטקאָממאַ-וו ערטן איז - דעריבער אויך דער נאָמען - די פּאָזיציע פֿון דעם קאָממאַ דורך דעם דאַטענטיפּ פֿאַרגעשטעלט.
דערפֿאַר איז אויך אַ פֿיקס פון צahlen פֿאַר צahlen פֿון דעם דאַטענטיפּ; מאַתי מאַטיקאַלדיק אויס gedrückt איז דער צahlen-אָרט פֿיניט.

אין דער רעאַליטעט ווערט דער דאַטענטיפּ מערסטנס גענוצט אויף פּלאַטפאָרמען אָן גענוג שנעלע פליסיק-קאָממאַ-האַרץ, ווייַל די באַ רעכענונג פֿון פעסטקאָממאַ-וו ערטן קען דורך אינטידזשער-וו ערטן געשען.

דער דאַטענטיפּ ווערט אויך, למשל, פון דאַטן-בעשאָלונג-סיסטעמען גענוצט ווען פֿעסטער באַדערפֿעניסן מוזן ווערן ערfüllt.
מען קען דאָ למשל געדענקען סיסטעמען צו dauerhafte פאַרשטאַנד פון פינאַנצן; די מערסטע וואָלטן פאַרשטעלן זיך אויף 2 שטעלן נאָך דעם קאָממאַ. (אָבער עס איז נישט קלוג צו נעמען דאָ פֿאַר פעסטקאָממאַ-וו ערטן; מער קלוג איז צו באַשטיין די קלענסטע וואָרטשאַפֿט-איניץ ווי אינטידזשער און דער רעסט פֿון דער פאָרשטעלונג-שטאָפּן צו לאָזן)

אַנאַלאָגיש צו den אינטידזשער-אַנגעזעעניש געב איך ביי פעסטקאָממאַ-וו ערטן די אָפּשטאַנד פון דער צ Zahl אויף און נאָכ דעם קאָממאַ:
ufixed(9,7) באַשטימט אַ דאַטענטיפּ, וואָס פֿאַרזיכערט 9 ביט פֿאַר דעם וואַלן אויף דעם קאָממאַ, ווי אויך 7 ביט פֿאַר דעם וואַלן נאָך דעם קאָממאַ; אין גאַנצן 16 ביט ברייט איז און אַזוי למשל ווי אַ וועקטאָר פֿון צוויי פֿון einander אָפּשטענדיקע אינטידזשערס אַ געגנט פֿון (0,0) ביז (511,127) קאָווערן קען.
די אינטערפּרעטאַציע וואָלט אָבער אין אירער דעקימאָל-פֿאַרשטעלונג 28 צahlen אַנניצט פאַרשן, ווייַל מען קען זיך פֿאַרשטיין מער אויף מאַקסימאַל (511,99) אין דער פּראַקטיש.

אויף אַן אַנדערע דערעקטע אינטערפּרעטאַציע פֿון פעסטקאָממאַ-וו ערטן ווי אַ וועקטאָר פֿון 2 פאַרשיידענע אינטידזשערס - וואָס כמעט שטענדיק אַ אַנניצט דאַטע געגנט בײַ דער איבערגאַנג אין דעקימאָל-צahlen און אַ מאַנואַלער איבערטראָגן מיינט - קען אויך דער נאַכקאָממאַ-געביט ווי פֿראַקשאַן פֿון זייער גאַנץ אָפּשטאַנד אינטערפּרעטירט ווערן.
וועגען דעם בייַשפּיל פֿון דעם צוגעגעבן ufixed(9,7) נעמט זיך אַזוי אַ פֿראַקשאַן איבער אַן נענער אין הויך פֿון 27 - דער צahlen-אָרט גייט דאַן פֿון 0,00 ביז 511 + 126127 צו איבערגיין אין אַ דעקימאָל-פֿאַרשטעלונג וואָלט דער נאַכקאָממאַ-שטעלע דערפֿאַר דורך 128 צו טיילן.
מיט דעם ווערסיע קען מען גרינגער רעכענונג-אָפּעראַציעס דורכפֿירן, ווייַל דער איבערטראָגן זיך אַוטאָמאַטיש באַקומען, וואָס מאַכט דעם ווערסיע אין אַלע רייען וואָרטן ווערן.
דער ווערסיע האָט אָבער דעם נעבעכדיקן אַז די נאַכקאָממאַ-שטעלן אין דער דעקימאָל-פֿאַרשטעלונג נישט מער האָבן אַ געעראַנטירטע אָפּשטאַנד, אַ איינציק דעקימאָל-שטעלע איז נישט מער דער געגענצער 0.01, נאָר 0.007874, וואָס וועט געפֿינען צו באַ corresponding רונדונג-פֿעלער.

וואָס אינטערפּרעטאַציע-ווייזע וועט געניצט ווערן, וועט פֿאַרבונדען צו דער גענוצער-שטעל דוקומענטירט ווערן.

פֿלוּס- אָדער געלעיטקום-וווערטן

פליסיק-קאָממאַ-וואַלועס זענען mathematisch מער קאָמפּלעקסע אויסדרוקן, וואו אַן גאַנץ צahl מיט א שטענדיקע אָפּשטימונג ווערט איבער א mathematischen טערם אזוי אויסגעדרוקט, אז דער נאָך קאָממאַ-טעיל ווערט געגרינדעט דורך באַוועגונג - און דערמיט וועט זיך מיד צו דער וויסנשאַפֿטלעכע נאָטאַציע אָריענטירן.
די מערסט געוויינטלעכע וועג צו דאָס umzusetzen איז געווארן סטאַנדערטיזירט דורך IEEE 754 און איז זינט דעמאַל האָט אינטערנאַציאָנאַלער באַוויליגונג.

דאָרט besteht א פליסיק-קאָממאַ-ווילע אין דער רעגולער פון די ווייַטערדיקע קאַמפּאָנענטן:

צייכן (0 אָדער 1) עקספּאָנענט מאַנטיסע

װאָרט די צייכן קען ווערן ווי אַ בינאַרע יא/ניין-אינפֿאָמאַציע פּשוט ארויסגעשטעלט, ווערט די אַרבעטער צahl געגרינדעט דורך די גלײַך
מאַנטיסע * 2עקספּאָנענט

צוזאַמען איז נאָך אַ סעריע פון קאָנסטאַנטע וועלכע דעקן ספּעציעלע פאַלן ראַטיאָנאַלע צahlen - צווישן זיי ±∞ און NaN ("נישט גיט צו צahl").

פליסיק-קאָממאַ-וואַלועס זענען בעיקר נützלעך ווען די גענויייט איז נישט אַזוי וויכטיק, ווי עס קומט אין דעם טיפּ פון ווערטן צו רונדונג-שיידונגען און דערמיט אויך גענויייט-פֿאַרלוסטן. טיפּישערווייַז ווערן פליסיק-קאָממאַ-וואַלועס געניצט צו באַשטימען קאָאָרדינאַטן, ווי ווערטעקס-וועקטאָרן אין 3D-מודעלן אָדער Bézier-/Spline-קאָרוועס פֿאַר אָפּטישע רעפּרעזענטאַציע-צילן.

אין די דאטן-פֿאָרמאַטן ווערן פליסיק-קאָממאַ-וואַלועס ספּעציפיצירט ווי float(מאַנטיסע, עקספּאָנענט).
ווען אַן Format וואָס איז נישט ווי IEEE 754 ווערט געניצט, וועט דאָס entsprechedנדיג געגעבן ווערן.