一、signed轉換為unsigned
當int(16bit)時
signed類型整數,共16位。第一位為符號位,正數為0、負數為1,剩下15進行編碼,存儲范圍為-215到215-1,即-32768到32767。
unsigned類型整數,16位全部用來編碼,存儲范圍為0到216-1,即0到65536。
負數轉化
因為負數一定會超出取值范圍,所以在某些語言中將負數賦值為unsigned類型是非法的。在合法情況下,signed轉換unsigned方法如下
如-2879(16bit),取絕對值為2879
二進制:0000 1011 0011 1111
取反碼:1111 0100 1100 0000
反碼+1:1111 0100 1100 0001
轉換為16進制為F4C1
補充
signed是符號擴展,用符號位填充;unsigned是零擴展,高位全部置零
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态