int i = 20;
string output = Convert.ToString(i, 2); // Base2 formatting
i = -20;
output = Convert.ToString(i, 2);
Value Expected Actual 20 00000000000000000000000000010100 10100 -20 10000000000000000000000000010100 11111111111111111111111111101100
Я вижу, что, возможно, двоичный вывод из 20 был усечен, но я не понимаю выход для -20. Я основывал свои ожидания на нотации base2 и полагал, что подписанный элемент целого числа был выражен в первой левой самой цифре. 0 для положительных и 1 для отрицательных. Может кто-нибудь объяснить результаты, в частности, -20?