十進制 轉為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位
以上僅個人拙見,有其他建議歡迎指出