十进制 转为byte类型:
方式一:
例一: 1234 → -46
① 1234转换为二进制为: 100 1101 0010(正数,原反补相同)
② 二进制转为 byte数据类型 : 只保留后八位
1101 0010(补码,首位 为1 代表负数)
③ 转反码(负数补码转反码需要-1) : 1101 0001
④ 转为原码(负数转为原码 除符号位 其余取反):
1010 1110(其中最高位1 为 - 010 1110转十进制为46)
⑤ 得结果 -46
⑥ 验证:




例二: -1234 → 46
① -1234转换为二进制为: 1111 1011 0010 1110(此处为补码 1111 1111 1111 1111 1111 1011 0010 1110 偷个懒)
② 二进制转为 byte数据类型 : 只保留后八位
0010 1110(首位 为0 代表正数 正数,原反补相同)
③ 0010 1110(转十进制为46)
④ 得结果 46
方式二:
权值法:
直接对二进制数 从末尾开始每一个数乘以2的n次幂,n从0开始,
(例:0010 1001权值法<1*2^0+0*2^1+0*2^2+1*2^3+0*2^4+1*2^5+0*2^6+0*2^7>所得的结果为41 )
例一:2345 → 41
1001 0010 1001
① 2345转换为二进制为: 1001 0010 1001(正数,原反补相同)
② 二进制转为 byte数据类型 : 只保留后八位
0010 1001(补码,首位 为0 代表负正数 正数,原反补相同)
③ 为正数时,直接使用权值法
1*2^0+0*2^1+0*2^2+1*2^3+0*2^4+1*2^5+0*2^6+0*2^7
④ 得结果 41
例二: -2345→ -41
① -2345转换为二进制为: 1111 0110 1101 0111(此处为补码1111 1111 1111 1111 1111 0110 1101 0111 偷个懒)
② 二进制转为 byte数据类型 : 只保留后八位
1101 0111(首位 为1代表负数)
③ 为负数时,直接使用权值法 其中最高位*-1
1*2^0+1*2^1+1*2^2+0*2^3+1*2^4+0*2^5+1*2^6+1*2^7*-1
④ 得结果 -41
⑤ 验证
注:计算器解释相关解释
HEX :十六进制
DEC:十进制
OCT:八进制
BIN:二进制,注意这里的二进制为二进制补码形式
输入一个数,进制转换会自动进行
QWORD:四字,64位 DWORD:双字,32位 WORD:字,16位 BYTE:字节,8位
以上仅个人拙见,有其他建议欢迎指出