Aujourd'hui Quand j'ai débogué, utilisez gdb. J'ai découvert quelque chose de vraiment étrange:gdb sur linux n'utilise pas le complément 2
print 0xC0 //192, correct
print (char)0xC0 //-64
ne utilise pas d'ordinateur complément à 2 pour représenter des nombres négatifs (ce qui est évidemment pas ce cas) ou je manque quelque chose de fondamentalement?
Je comprends ce que vous voulez dire, mais quand je regarde de plus près. C'est juste par hasard que '-64' dans le complément à 2 est exactement le même que' -64' dans la représentation binaire signée. Quand je regarde d'abord '-64', j'ai immédiatement pensé à' 1100 0000' avec le premier bit étant le signe, ce qui n'est pas le complément de 2 mais plus familier à l'humain. Alors c'est exactement '192' (surprise?). Maintenant je reste en arrière et je calcule '-64' en complément de 2, tout va bien, une telle coïncidence m'a étonné – AtheS21