Benim küçük programı:C dilinde imzalanmış tek bayt char için - (- 128) nedir?
#include <stdio.h>
int main() {
signed char c = -128;
c = -c;
printf("%d", c);
return 0;
}
baskı:
-128
mı eksi (-) CPU genelinde operatör taşınabilir?
mu ANSI C ilkel türleri dönüştürmek için ** int ** önce performans aritmetik operasyonlar? Bu Java için geçerlidir (Java lang spekleri olarak), fakat C için bu doğru mu? – gavenkoa
@gavenkoa Cevabınız olabilir: [C 2011 (n1570) 6.3.1.8 (“Her zamanki aritmetik dönüşümler”) 1, tamsayı promosyonlarının türlerin aynı olup olmadığını düşünmeden yapıldığını belirtir:] (http://stackoverflow.com/questions/12841278/char-and-the-olağan-aritmetik dönüşüm-kuralları) –
@gavenkoa: Basitçe, “int” den “küçük” olan her şey aritmetik işlemler sırasında “int” olarak tanıtılır. Sonuç daha sonra sol tarafa geri atanır. –