Re: Páteční hádanka - C a HW
Jan Waclawek
konfera na efton.sk
Pátek Říjen 2 13:24:36 CEST 2015
Ano. Velkost akehokolvek objektu v bitoch je neprenositelna vlastnost:
C99:
3.6
byte
addressable unit of data storage large enough to hold any member of the
basic character
set of the execution environment
NOTE 1
It is possible to express the address of each individual byte of an object
uniquely.
NOTE 2
A byte is composed of a contiguous sequence of bits, the number of which is
implementation-
defined. The least significant bit is called the low-order bit; the most
significant bit is called the high-order
bit.
Ono svojim sposobom je aj sizeof() neprenositelny.
6.5.3.4 The sizeof operator
#4 The value of the result is implementation-defined
Aka architektura, to neviem, ale je to ocividne nieco silne 16-bitove. Ale
v skutocnosti zalezi na prekladaci; prekladac moze pokojne emulovat
akukolvek velkost bytu (ktora zodpoveda tomu 3.6). Je jasne, ze sa drviva
vacsina C prekladacov snazi napasovat svoj datovy model na architekturu.
wek
----- Original Message ---------------
>Pro jako HW architekturu CPU dostaneme
>
>typ / sizeof / velikost (bit)
>char 1 16
>short 1 16
>int 1 16
>long 2 32
>long long 4 64
>
>Je to jen tak pro zajímavost a proč neodvozovat počet bitů v proměnné pomocí sizeof ale jen velikost :-)
>
Další informace o konferenci Hw-list