对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码再计算其数值。
也就是说就是要把负数的补码转化为原码才能知道负数是多少
在计算机种是用补码来表示负数的存在,并不存在原码表示负数的形式
补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1 (即在反码的基础上+1)。 对于负数,补码表示方式也是人脑无法直观看出其数值的。 通常也需要转换成原码在计算其数值。
**但其实将正整数的原码全部取反,然后加1,也能表示负整数的补码二进制的位数受机器设备的限制。机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。字长8位叫一个字节(Byte),机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位分别对应了char一个字符,int四个字符
注意:上面的16进制少了两个FF
也就是说int类型总共有32位数4个字节一个字节8位但是表示正整数只有31位,也就是要看二进制的限制位数,比如说int类型的限制位数是32位,char类型的限制位数是8位一个字节,所以0XFF换算位二进制就能在char类型的二进制8位数中的补码是1111 1111,因为第一位为1,所以为负数,减1后为1111 1110,除第一位1之外的所有数取反后为原码为1000 0001就为-1,
在有符号类型的数据中最左比的最高一位是符号位
位运算符
https://baike.baidu.com/item/%E4%BD%8D%E8%BF%90%E7%AE%97%E7%AC%A6/2786163
看过的参考文章和百度
1. https://zhuanlan.zhihu.com/p/118432554
2.https://blog.csdn.net/qq_33391629/article/details/79738814
3.https://blog.csdn.net/weixin_38958597/article/details/86631639?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_paycolumn_v3&utm_relevant_index=6
4.https://baike.baidu.com/item/%E8%A1%A5%E7%A0%81/6854613
5.https://baike.baidu.com/item/%E5%8E%9F%E7%A0%81/1097586
6.https://baike.baidu.com/item/%E6%9C%BA%E5%99%A8%E6%95%B0
7.https://baike.baidu.com/item/16%E8%BF%9B%E5%88%B6/8541382
8.https://blog.csdn.net/is01753/article/details/74912530 9.https://www.jianshu.com/p/32af63dde133
10.https://baike.baidu.com/item/16%E8%BF%9B%E5%88%B6/8541382
11.https://www.cnblogs.com/MCSFX/p/11027160.html
其实觉得没必要整理这些
主要是我二进制什么的从小学开始都没搞懂,基础和别人差的太多QAQ,想着整理一下自己忘了的时候再看看QAQ