Увод в програмирането
alpha
|
Когато в един израз има операнди от смесени типове, то те се преобразуват автоматично към един тип. Общ принцип е, че това се извършва към по-старши тип:
long double 10 double 8 float 4 unsigned long int 4 long int 4 unsigned int 2 int 2 unsigned char 1 signed char 1
Отчита се колко байта се отделят. При еднакъв брой се гледа кой тип съдържа по-големи стойности. Update-ни нещата към табличка =)
операнд 1 операция 2 операнд 2
Автоматично char се преобразува към Int. Възможно е, когато се преобразува типа да се променя и стойността на операнда. Примери: Int -> unsigned int или signed long int
При преобразуване операнда като последователност от битове не се променя, променя се интерпретацията, unsigned int -> знаковия бит става част от стойността unsigned long int -> добавят се два старши байта, в които се размножава знаковия бит int -> long int стойността не се променя знак -> без знак променя се int -> double, float, long double стойността не се променя
старши -> младши тип