十六进制数字接收的方式
无符号:接收的就是个正数,不用考虑符号位,这个比较容易理解,无符号是比较常见的
有符号:接收的数字是补码,这时候就要看接收类型(int8_t活int16_t)位数的最高位是0还是1,判断是正还是负
比如以int8_t接收,就看第8位是0还是1,是0说明是正数,正数,三码合一,是1说明是负数,那么需要将补码经过变换变成原码
比如以int16_t接收,就看第16位是0还是1,是0说明是正数,正数,三码合一,是1说明是负数,那么需要将补码经过变换变成原码
负数的原码->补码的过程:
原码->反码 :符号位不变,其它位取反
反码->补码: 反码+1=补码
负数的补码->原码的过程就是负数的原码到补码的逆过程
FR:徐海涛(hunkxu)