What is what?

sint45, sfixed5.4, bool - what are the funny things in this category?

Published on 06/10/2018, updated on 03/18/2019

In this section you will find (soon) all kinds of articles about file formats and reverse engineering.

But now it is so:
There are many programming languages out there and there are many people who know some things under completely different names - or have no idea of the existence of the most fundamental things because their programming language abstracts that away from them.

My notation is mostly C99 . If you are used to this notation, you will surely get along with my notation.
My float notation will - as soon as I use it - be based on it and will be added in due course.


Integer are simply whole numbers, i.e. numbers without decimal places.As a rule, integers in data formats are defined within a fixed number spectrum, quasi a resolution. I specify these in bits - for the reason that one "byte" and the types based on it (Word, Qword,...) are usually platform dependent.
In addition, integer types are also distinguished between natural numbers (ℕ, i.e., without sign - Unsigned) and real numbers (ℤ, i.e., with sign - Signed). This information is indicated by a sign in the identifier (u or s).
It is possible that real numbers are represented either as one's complement or as two's complement. Unless otherwise specified, the two's complement is used.

I do not use the data type "char" for characters, since character strings usually only represent integer values with a special interpretation.


notation description number space
uint16 unsigned integer, 16 bit length 0 - 65.535
sint8 signed integer, 8 bit length, two's complement -126 - 127
uint24 unsigned integer, 24 bit length 0 - 16.777.216


In this category you will find tables like the following:

ADR x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0000 0000 43 50 41 4C xx xx xx xx  
number of things Data type: uint24
Specifies how many things exist.
number of non-things Data type: uint8
One doesn't know that exactly

These tables correspond to hexadecimal representations of data blocks. The data stream is displayed in a 1+16 column view similar to many hex editors. The very first column indicates the address or the offset.

Fields containing numerical values stand for constants or unimportant data. If, on the other hand, "xx" is specified, it is a variable value.

If fields are highlighted in color, the value in the table below is explained in detail in the row with the same color. For this purpose 13 colours are available; unfortunately this is not sufficient for all contents of this world, which is why the palette is repeated from the beginning after the 13th value. The lower table always reflects the order in the data stream.


add a comment

Your comment may not be displayed immediately and will be moderated for spam prevention reasons.